0
我有两个不同的应用程序。应用程序A定义了需要定义的自定义权限的自定义权限和内容提供者。应用程序B使用的许可,并试图访问应用程序A的内容提供商但是,我得到以下错误:使用自定义权限阅读内容提供者时获取权限拒绝
java.lang.SecurityException: Permission Denial: reading com.casimirlab.simpleDeadlines.provider.DeadlineProvider uri content://com.casimirlab.simpleDeadlines.provider/deadlines from pid=17350, uid=10070 requires com.casimirlab.simpleDeadlines.READ_DEADLINE_DATABASE, or grantUriPermission()
AndroidManifest.xml中为App答:
<Permission
android:name="com.casimirlab.simpleDeadlines.READ_DEADLINE_DATABASE"
android:protectionLevel="normal">
</Permission>
<uses-permission android:name="com.casimirlab.simpleDeadlines.READ_DEADLINE_DATABASE" />
...
<provider
android:name=".provider.DeadlineProvider"
android:authorities="com.casimirlab.simpleDeadlines.provider"
android:readPermission="com.casimirlab.simpleDeadlines.READ_DEADLINE_DATABASE"
android:exported="true"
android:grantUriPermissions="true" />
AndroidManifest.xml中为App B:
<uses-permission android:name="com.casimirlab.simpleDeadlines.READ_DEADLINE_DATABASE" />
查询代码在应用程序B:
Uri uri = Uri.parse("content://com.casimirlab.simpleDeadlines.provider/deadlines");
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(uri, null, null, null, null);
我对这两款应用都使用了以下版本。
compileSdkVersion 23
buildToolsVersion '25.0.0'
minSdkVersion 10
targetSdkVersion 23
我也知道应用程序安装的顺序。我首先安装应用程序A,然后安装应用程序B.
我已阅读其他相关问题,但其解决方案无法帮助我。