Я разрабатываю виджет приложения как часть более крупного приложения.
Приложение содержит 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
требуется, и нет такого разрешения, как мы все знаем ...
Спасибо!