1

我有两个应用程序:App1 和 App2

在 App1 中指定这样的权限

<uses-permission android:name="com.commonname.providers.app2.READ_LOGIN_TOKEN" />

在 App2 中指定这样的权限

  <uses-permission android:name="com.commonname.providers.app1.READ_LOGIN_TOKEN" />

我已经按顺序安装了应用程序:首先是 App1,然后是 App2。当我运行 App1 时,我收到了 SecurityException,如下所示:

 Writing exception to parcel

java.lang.SecurityException: Permission Denial: 从 pid=5550 读取 com.commonname.providers.App1 uri content://com.commonname.providers.app1/logintoken,uid=10919 需要 com.commonname.providers.app1.READ_LOGIN_TOKEN,或 grantUriPermission() 在 android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:608) 在 android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483) 在 android.content.ContentProvider$Transport.query(ContentProvider.java :212) 在 android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) 在 android.os.Binder.execTransact(Binder.java:565)

是否存在在运行应用程序时再次请求权限的方法?或者如果首先安装了应用程序,则可以通过其他方式获得此权限。

我已经阅读了这篇文章https://github.com/commonsguy/cwac-security/blob/master/PERMS.md#android-50-behavior,并且根据安装顺序已知,但可能以某种方式存在。

4

1 回答 1

-3

它取决于您的 SDK 版本,如果高于 23,您必须在运行时请求权限。

于 2017-11-28T14:32:06.620 回答