【问题标题】:SecurityException when using uses-permissions使用使用权限时的 SecurityException
【发布时间】:2018-05-12 01:16:27
【问题描述】:

我有两个应用程序: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: 读取 com.commonname.providers.App1 uri content://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,并且根据安装顺序知道,但可能以某种方式存在。

【问题讨论】:

    标签: android permissions android-securityexception


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 2012-12-01
      • 2012-08-13
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多