1つのアプリで、AndroidManifestで次のコンテンツプロバイダーを宣言しています。
<provider android:name="com.example.MyProvider"
android:label="@string/provider_name"
android:authorities="com.example"
android:readPermission="com.example.permission.READ"
/>
そして、別のアプリがそれを使用する許可を要求します:
<uses-permission android:name="com.example.permission.READ" />
しかし、このコードを実行すると:
ContentResolver resolver = this.context.getContentResolver();
Cursor results = resolver.query(BaseballCardContract.CONTENT_URI, BaseballCardContract.PROJECTION, null, null, null);
次のエラーメッセージが表示されます。
E / DatabaseUtils(1009):java.lang.SecurityException:Permission Denial:reading bbct.android.common.BaseballCardProvider uri content://bbct.android.baseballcard/baseball_cards from pid = 996、uid = 10046 requiredcom.example.permission .READ、またはgrantUriPermission()
私の知る限り、必要な許可を求めています。ここで何が欠けていますか?他に何を見る必要がありますか?