小编r89*_*89m的帖子

在另一个应用程序中请求我自己的ContentProvider的读取权限

在一个应用程序中,我在AndroidManifest中声明了以下内容提供程序:

    <provider android:name="com.example.MyProvider"
              android:label="@string/provider_name"
              android:authorities="com.example"
              android:readPermission="com.example.permission.READ"
    />
Run Code Online (Sandbox Code Playgroud)

另一个应用程序请求使用它的权限:

<uses-permission android:name="com.example.permission.READ" />
Run Code Online (Sandbox Code Playgroud)

但是在运行此代码时:

    ContentResolver resolver = this.context.getContentResolver();
    Cursor results = resolver.query(BaseballCardContract.CONTENT_URI, BaseballCardContract.PROJECTION, null, null, null);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

E/DatabaseUtils(1009):java.lang.SecurityException:Permission Denial:从pid = 996读取bbct.android.common.BaseballCardProvider uri内容://bbct.android.baseballcard/baseball_cards,uid = 10046需要com.example.permission .READ或grantUriPermission()

据我所知,我正在申请所需的许可.我在这里错过了什么?还有什么我需要看的?

android runtime-error android-contentprovider

5
推荐指数
1
解决办法
4855
查看次数