最近、コンテンツ プロバイダーからデータを読み取るウィジェットをリリースしました。テストでは問題なく動作しているように見えましたが、コンテンツ プロバイダーのアクセス許可に関連する多数のクラッシュ レポートを受け取りました。
これは、クラッシュ レポートから得られるエラーです。
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>
何か案は?