Разрешение контент-провайдера при доступе через android.widget.RemoteViewsService - PullRequest
4 голосов
/ 19 мая 2011

Я разрабатываю виджет приложения как часть более крупного приложения. Приложение содержит ContentProvider, который объявлен в manifest.xml следующим образом:

<provider android:name="aaa.bbb.providers.MyContentProvider"
    android:authorities="aaa.bbb.myprovider"
    android:enabled="true" 
    android:exported="false">
</provider>

Как вы видите, атрибут экспортируемого контент-провайдера имеет значение false, поскольку я не хочу другие приложения для доступа к нему (в соответствии с руководством разработчика Google ..). Проблема в том, что этот атрибут вызывает сбой виджета при попытке извлечь данные от поставщика контента, хотя он запускается из того же процесса (виджет использует StackView, который использует android.widget.RemoteViewsService) я получаю:

java.lang.SecurityException: Permission Denial: reading aaa.bbb.providers.MyContentProvider uri content://aaa.bbb.myprovider/users from pid=203, uid=10022 requires null

Теперь, насколько я знаю, такая ошибка возникает, когда разрешение отсутствует, но оно говорит это разрешение null требуется, и нет такого разрешения, как мы все знаем ...

Спасибо!

1 Ответ

0 голосов
...