我最近發佈了一個用於從內容提供者讀取數據的小部件。它在測試中似乎工作正常,但我收到了許多與內容提供者權限相關的崩潰報告。即使已添加權限,也會獲得「SecurityException:權限拒絕」
這是我從崩潰報告得到的錯誤:
java.lang.SecurityException: Permission Denial: reading com.anydo.providers.TasksContentProvider uri content://com.anydo.provider/tasks from pid=24036, uid=10142 requires com.anydo.provider.permission.READ_ANYDO_TASKS, or grantUriPermission()
,從我可以從不同的問題,看到這可能與清單文件,所以這裏的是:
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="17" />
<uses-permission android:name="com.anydo.provider.permission.READ_ANYDO_TASKS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name="AnydoWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/anydo_widget_provider" />
</receiver>
<activity
android:name="com.gongchangstudio.minimalanydowidget.WidgetSettings"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<service android:name="com.gongchangstudio.minimalanydowidget.TaskWidgetService"
android:permission="android.permission.BIND_REMOTEVIEWS"
android:exported="false" />
</application>
有沒有想法?
您是否不必先定義權限? ''權限 android:name =「com.anydo.provider.permission.READ_ANYDO_TASKS」 android:protectionLevel =「signature」/>'我不確定,只是認爲它可能有幫助 – SeanSWatkins