Проблема: до Android 10 мы могли использовать прямой доступ к файлам. В Android 10 Google подтолкнул нас к использованию доступа SAF и Uri. В Android 11 Google говорит: «Хорошо, вы снова можете получить доступ к (некоторым) необработанным путям к файлам». Создание обратно совместимого приложения - это немного беспорядок. Что я сделал между Android 9 и Android 10, так это изменил доступ к файлам с прямого доступа к SAF. Поскольку моему приложению нужен доступ ко всем файлам, я просто использовал ACTION_OPEN_DOCUMENT_TREE
для корневого каталога. Однако с Android 11 это больше не работает. Есть новое разрешение MANAGE_EXTERNAL_STORAGE
, но я уверен, что Google ограничит его использование каким-то файловым менеджером, поэтому это не вариант. Резюме: есть ли какой-либо совместимый API для использования приложения в нескольких версиях Android? Какая стратегия лучше всего в этом случае?
Since my app needs all file access I just used the ACTION_OPEN_DOCUMENT_TREE to the root directory.
При обновлении вы все равно можете выбрать свою папку, если это подкаталог корневого каталога. Также графический интерфейс позволяет пользователю создавать новые каталоги в корне внешнего хранилища. - person blackapps   schedule 27.08.2020migrated all my code from files to uri
? Понятия не имею, что вы имеете в виду под этим.that Uri access via Saf can't be used anymore,
? Понятия не имею, что вы имеете в виду. - person blackapps   schedule 27.08.2020With Android 10 Google pushed us to use SAF and Uri access.
Я знаю SAF, но что вы имеете в виду под доступом Uri? И вы не забываете о MediaStore? - person blackapps   schedule 27.08.2020