получение uri содержимого уже загруженного видео в Android Q

#android #kotlin #android-contentresolver

#Android #kotlin #android-contentresolver

Вопрос:

я все еще не понимаю изменений, внесенных в медиафайлы access в Android Q. Мое приложение загружает видео, но воспроизведение или извлечение видео выдает ошибку.

Заметил, что для Android Q каждый медиафайл за пределами определенных для приложения папок должен быть зарегистрирован в contentresolver. В котором распознаватель содержимого в ответ присваивает этому файлу специальный идентификатор. Я прав?

если да, то как мне зарегистрировать медиафайл в content resolver и в то же время получить uri медиафайла

Для лучшего понимания будет оценено хорошее объяснение доступа, сохранения и открытия медиафайлов на Android Q

Комментарии:

1. Пожалуйста, прочитайте страницы с тегами stackoverflow mediastore . И говорите не о contentresolver, а о MediaStore.

Ответ №1:

Изменения в обработке файлов с Android 9 (Q) действительно сбивают с толку. Вы читали основную документацию по хранению данных и файлов?

В принципе, подумайте, что ваше приложение может записывать и читать файлы, которые оно создало во внутреннем хранилище или основном внешнем хранилище, в папках, принадлежащих этому приложению.
Чтение с SD-карты может быть выполнено, но требует разрешения пользователя.
запись на SD-карту может выполняться с ограничениями и не так проста. Для этого также требуется разрешение пользователя. Медиафайлы могут обрабатываться MediaStore api, и если они находятся внутри папок из вашего приложения, это проще.

Если вы хотите сохранить медиафайл в других папках, отличных от папок мультимедиа по умолчанию, то это немного сложнее.

Пожалуйста, лучше определите, каковы потоки и требования вашего приложения, чтобы кому-то было легче помочь.

Комментарии:

1. Спасибо @logui за ваше время. Мои приложения требуют хранения за пределами хранилища, специфичного для приложения. Но прочитайте документ Android об использовании Media Store. Мне все еще было непонятно. Хотелось бы получить объяснение по этому поводу. Спасибо

2. Объяснение по поводу чего @darul9061? Что именно вы хотите знать? Будьте более конкретными.

3. Что я хочу знать, так это как сохранить и открыть файл за пределами хранилища, специфичного для приложения, используя URI

4. @darul9061 Но это именно то, что было объяснено в документации, связанной с моим ответом. Начните с определения границ области. Точнее, какой файл вам нужно обработать? Это изображение? Другой тип носителя? Текстовый файл? Другой тип файла? Правильный способ сделать это будет зависеть от ответов на эти вопросы.

5. Спасибо @logui за ваше время. Я ценю это. На самом деле это видео