0
我試圖搜索stackoverflow.com並嘗試每個答案,但沒有一個工作。Android:從另一個應用程序訪問內容提供商
我有一個內容提供者,它在內容提供者的用戶在同一個應用程序中時工作。但是,從另一個應用程序訪問時,我有權限拒絕錯誤。
logcat的
Caused by: java.lang.SecurityException: Permission Denial: opening provider com.abc.contentprovidersbooks.BooksProvider from ProcessRecord{4174b338 18673:com.abc.contentprovidersuserbooks/u0a10112} (pid=18673, uid=10112) requires com.abc.contentprovidersbooks.READ_DATABASE or com.abc.contentprovidersbooks.WRITE_DATABASE
內容提供商AndroidManifest: -
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abc.contentprovidersbooks"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="com.abc.contentprovidersbooks.ContentProvidersBook"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider android:name="BooksProvider"
android:authorities="com.abc.contentprovidersbooks.Books"
android:readPermission="com.abc.contentprovidersbooks.READ_DATABASE"
android:writePermission="com.abc.contentprovidersbooks.WRITE_DATABASE"
android:exported="true">
</provider>
</application>
內容提供商用戶應用AndroidManifest: -
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tshouse.contentprovidersuserbooks"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<uses-permission android:name="com.tshouse.contentprovidersbooks.READ_DATABASE"/>
<uses-permission android:name="com.tshouse.contentprovidersbooks.WRITE_DATABASE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:readPermission="com.tshouse.contentprovidersbooks.READ_DATABASE"
android:writePermission="com.tshouse.contentprovidersbooks.WRITE_DATABASE"
>
<activity
android:name="com.tshouse.contentprovidersbooks.ContentProvidersUserBooks"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
請告知如何聲明權限。
感謝
謝謝! 問題解決了。 找到這個[link] https://groups.google.com/forum/?fromgroups=#!topic/android-developers/f8twQW8zdkA 已被證實可行,與您提及的概念相同 – user1121055 2013-03-08 04:26:49