【发布时间】:2017-09-19 07:00:40
【问题描述】:
我有一个奇怪的 android 权限拒绝,是这样的:
java.lang.SecurityException: Permission Denial: isUserRunning() from pid=1078, uid=10284 requires android.permission.INTERACT_ACROSS_USERS
我没有找到任何关于 android.permission.INTERACT_ACROSS_USERS 的信息,只有 android.permission.INTERACT_ACROSS_USERS_FULL
这是完整的 logcat:
java.lang.SecurityException: Permission Denial: isUserRunning() from pid=25403, uid=10310 requires android.permission.INTERACT_ACROSS_USERS
at android.os.Parcel.readException(Parcel.java:1693)
at android.os.Parcel.readException(Parcel.java:1646)
at android.app.ActivityManagerProxy.isUserRunning(ActivityManagerNative.java:7000)
at android.os.UserManager.isUserUnlocked(UserManager.java:1069)
at android.os.UserManager.isUserUnlocked(UserManager.java:1063)
at com.android.launcher3.compat.UserManagerCompatVN.isUserUnlocked(UserManagerCompatVN.java:39)
at com.android.launcher3.LauncherModel$LoaderTask.loadWorkspace(LauncherModel.java:1759)
at com.android.launcher3.LauncherModel$LoaderTask.loadAndBindWorkspace(LauncherModel.java:1387)
at com.android.launcher3.LauncherModel$LoaderTask.run(LauncherModel.java:1486)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
我已将此添加到我的清单中:
<permission android:name="android.permission.INTERACT_ACROSS_USERS" android:protectionLevel="signature"/>
<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
【问题讨论】:
-
除非您正在处理
com.android.launcher3的某个分支,否则 Java 堆栈跟踪似乎不是来自您的应用程序。 -
那么@CommonsWare 我能做什么?
-
您可以先解释堆栈跟踪与您的应用有什么关系。
-
当您在 Android Studio 中打开清单时,您应该会看到一个“合并清单”按钮。你会看到很多不同的颜色。找到声明 INTERACT_ACROSS_USERS 的权限并找出它来自哪个清单。意思是如果你使用一个库,它来自哪里?
标签: java android android-permissions