0

私は:を持つ1つのアプリを持っていContentProviderます

    <provider android:name="ExampleProvider" 
              android:readPermission="example.contentprovider.READ"
              android:label="Example Content Provider"
              android:authorities="example.contentprovider.provider"
    />

別のアプリがプロバイダーへのアクセス許可を要求します。

<uses-permission android:name="example.contentprovider.READ" />

しかし、2番目のアプリを実行すると、

E/AndroidRuntime(  818): java.lang.RuntimeException: Unable to start activity
ComponentInfo{example.contentresolver/example.contentresolver.ContentResolverActivity}:
java.lang.SecurityException: Permission Denial: reading example.contentprovider.ExampleProvider
uri content://example.contentprovider.provider/words from pid=818, uid=10045
requires example.contentprovider.READ, or grantUriPermission()

なぜこのエラーが発生するのですか?

ここで完全なSSCCEを表示します。

4

2 に答える 2

2

ContentProvider を作成するアプリで最初にアクセス許可を定義してから、それを使用する必要があります。

<permission android:name="example.contentprovider.READ"
    android:permissionGroup="..."
    android:label="@string/perm_read"
    android:description="@string/perm_read_summary"
    android:protectionLevel="dangerous" />
于 2013-02-15T01:16:31.903 に答える