Недавно я выпустил виджет, который считывает данные у поставщика контента. Казалось, что он отлично работает при тестировании, но я получил несколько отчетов о сбоях, связанных с разрешениями для поставщика контента.Получение «SecurityException: Permission Denial», хотя было добавлено разрешение
Это ошибка, я получаю от отчетов о сбоях:
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 =" подпись "/>' Я не уверен, просто подумайте, что это может помочь – SeanSWatkins