我有两个应用程序: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,并且根据安装顺序已知,但可能以某种方式存在。