使用use-permissions时的SecurityException

时间:2017-11-28 14:28:54

标签: android permissions android-securityexception

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

在App1中指定了这样的权限

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

在App2指定的peromission像这样

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

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

 Writing exception to parcel
     

java.lang.SecurityException:Permission Denial:read   com.commonname.providers.App1 uri   内容://com.commonname.providers.app1/logintoken来自pid = 5550,   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,并根据安装顺序了解,但可能存在某种方式。

1 个答案:

答案 0 :(得分:-3)

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