3

我的 Android 设备中有两个不同的用户,我正在开发的应用程序在主用户中正常工作,但是当我切换到不同的 Android 用户时,由于下一个错误,我触发了崩溃:

java.lang.SecurityException:获取包信息:用户 1110776 和当前进程都没有 android.permission.INTERACT_ACROSS_USERS。在 android.os.Parcel.readException(Parcel.java:1942) 在 android.accounts.IAccountManager$Stub$Proxy.getAuthToken(IAccountManager.java:1488) 在 android.os.Parcel.readException(Parcel.java:1888) 在android.accounts.AccountManager$11.doWork(AccountManager.java:1749) 在 android.accounts.AccountManager$AmsTask.start(AccountManager.java:2240) 在 android.accounts.AccountManager.getAuthToken(AccountManager.java:

我的应用程序基本上有一个登录名,我使用 AccountManager 通过使用方法AccountManager.blockingGetAuthToken来获取身份验证令牌。在主用户中,我可以正确使用该方法并且登录工作正常,但是当我切换到第二个用户时,我在调用该方法后收到错误并崩溃。

这仅在 Android 8 中发生,在以前的版本中,该应用程序对我设备中的所有 Android 用户都按预期工作。

我尝试以某种方式授予INTERACT_ACROSS_USERS权限,但这是一项特殊权限,无法从第三方应用程序访问。

任何想法?谢谢

4

0 回答 0