Android 8

时间:2018-01-04 14:24:12

标签: android crash android-permissions android-8.0-oreo android-8.1-oreo

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

  

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

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

这只发生在Android 8中,在以前的版本中,该应用程序可以正常运行我设备中的所有Android用户。

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

有什么想法吗?感谢

0 个答案:

没有答案