Это не было бы программированием на Android без случайного перетягивания волос ...
Использование эмулятора на данный момент ...
Это, очевидно, новая функция:
Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{6ebfe9e 22355:xxx/u0a140} (pid=22355, uid=10140) that is not exported from UID 10068
Доступ к EXTERNAL_STORAGE был предоставлен во всех случаях.
Сценарий:
- Пользователь выбирает картинку (используя ACTION_GET_CONTENT), результат активности хороший, и картинка отображается в контексте моего приложения.
- URI к изображению сохраняется в БД приложения.
- Приложение перезапускается.
- Попытка получить доступ к такой же URI и получитьвышеупомянутое исключение отказа в разрешении.
Затем попытался takePersistableUriPermission
на исходном результате действия выбора изображения, и это выдает исключение, указывающее, что нет постоянных разрешений.
РЕДАКТИРОВАТЬ: Хорошо, я 'мы реализовали принятый ответ (но только с использованием OPEN_DOCUMENT) и больше не пытались спроецировать результирующий URI в медиа-путь.Поэтому в акте покаяния я снова заявляю:
Я никогда не буду пытаться преобразовать URI в путь к Media Store.
(даже если GET_CONTENT и проецируется один разработал - хорошо, я не могу с собой поделать.)