Мое приложение позволяет пользователю выбирать мультимедиа (изображения, видео, аудио) из любого своего любимого приложения для навигации по этим документам.Затем я сохраняю URI для этого изображения (вместо загрузки всего изображения) в БД.При перезапуске приложения мне нужно использовать эти URI для извлечения миниатюр, а для изображений - полного изображения из URI, чтобы отобразить их в приложении.
Я прочитал различные посты и документы об использовании ACTION_OPEN_DOCUMENT на начальном этапе, предоставляя соответствующие разрешения URI, а затем используя takePersistableUriPermission для распознавателя.
Все это прекрасно работает.Проблема в том, что в мире существует много приложений, которые управляют выбором медиа, которые не поддерживают ACTION_OPEN_DOCUMENT, но поддерживают ACTION_GET_CONTENT.
Что я хочу сделать:
- Предоставьте список приложений, чтобы пользователь мог выбрать, какое из них он загрузил, и которое может найти медиафайлы для них, которые он хочет использовать в моем приложении.
- Используйте выбранное приложение, чтобы выбратьmedia.
- Сохраните URI этого носителя в БД, чтобы я мог использовать его позже.
Это прекрасно работает при реализации первоначального намерения выбрать приложение для поиска, чтобы найтиноситель ACTION_OPEN_DOCUMENT.
У меня нет необходимости выполнять запись на носитель - просто откройте выделение (и используйте полученные URI, выбранные пользователем) и сохраните этот URI для последующего использования.
Как можно сократить разрыв в необходимости постоянного URI с приложениями, которые не поддерживают намерение ACTION_OPEN_DOCUMENT?