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.
我已閱讀其他相關問題,但其解決方案無法幫助我。