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: это первый метод, который я придумал, но в Android TV нет встроенного средства выбора файлов. Поэтому я должен сказать пользователям установить стороннее средство выбора файлов с целевым SDK

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