我最近发布了一个从内容提供者读取数据的小部件。它在测试中似乎运行良好,但我收到了许多与内容提供者权限相关的崩溃报告。
这是我从崩溃报告中得到的错误:
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>
有任何想法吗?