MANAGE_EXTERNAL_STORAGE не работает на Android TV?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 MANAGE_EXTERNAL_STORAGE не работает на Android TV?

Сообщение Anonymous »

Я разрабатываю приложение, которое получает доступ к текстовым файлам, созданным пользователями на Android TV (я хочу поддерживать Android 5–12). Начиная с Android 11, requestLegacyExternalStorage игнорируется, поэтому я хочу использовать разрешение MANAGE_EXTERNAL_STORAGE для доступа к файлам.
Это мой пример кода:

Код: Выделить всё

Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Uri.parse("package:" + BuildConfig.APPLICATION_ID));
startActivityForResult(intent,0);
Приложение работает нормально, когда я тестирую на своем телефоне, но на Android TV оно вылетает с этой ошибкой:

Код: Выделить всё

AndroidRuntime: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION dat=package:io.github.anenasa.news.debug }
Я также пробую ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, но получаю аналогичную ошибку. MANAGE_EXTERNAL_STORAGE не поддерживается на Android TV или я где-то допустил ошибку?
Примечание. Я также пробовал некоторые альтернативы:
  • Storage Access Framework: это первый метод, который я придумал, но SAF не поддерживается на Android TV.
  • MediaStore: частично работает, но мне нужно переименовать расширение из .txt к типам мультимедиа, таким как .mp4, поскольку он предназначен для доступа к медиафайлам, но не к текстовым файлам.
  • Отключение хранилища с ограниченной областью: измените targetSdkVersion на 29 и установите requestLegacyExternalStorage="true". Единственный работающий метод, который я нашел на данный момент.
  • getExternalFilesDir(): файл, который я хочу прочитать, создан пользователем, и он не может поместить файл во внешнее хранилище для конкретного приложения, начиная с Android 11.


Подробнее здесь: https://stackoverflow.com/questions/752 ... android-tv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»