Android 11 | Контроль объема хранения - PullRequest
0 голосов
/ 26 марта 2020

Согласно документации

Используйте хранилище с областью действия, если вашему приложению не требуется доступ к файлу, который хранится вне каталога приложения c, указанного в приложении, и вне каталога, который MediaStore API могут получить доступ. Если вы храните файлы c, указанные в приложении, на внешнем хранилище, вы можете упростить адаптацию хранилища с областью действия, поместив эти файлы в каталог c, указанный в приложении, на внешнем хранилище. Таким образом, ваше приложение поддерживает доступ к этим файлам, когда включено хранилище с областью действия.

В моем случае я создаю текстовый файл, используя ниже:

File root = new File(this.getExternalFilesDir(null), "sample");
    if (!root.exists()) {
        root.mkdirs();
    }
File file = new File(root, "sample.txt");

Выше создает файл в расположении ниже (пока нет доступной SD-карты):

/storage/emulated/0/Android/data/<package-name>/files/sample.txt

И я выполняю операции записи на нем.

Ниже приведены запросы:

  1. При обращении к упомянутым документам до сих пор не выяснено, применимо ли применение хранилища Scoped к вышеупомянутому сценарию? Нужно ли внедрять Scoped Storage или оно будет работать без каких-либо изменений, и нет никакого влияния изменения поведения Android 11.

  2. Согласно моему пониманию, нет никакого влияния Scoped принудительное хранение из-за Android 11. Поскольку у меня нет варианта использования, где приложению требуется доступ к файлу, который хранится вне директории приложения c. Является ли это понимание правильным?

  3. В случае, если я хочу прочитать файл, который находится в папке «Загрузки», мне нужно реализовать Scoped Storage, потому что мое приложение хочет получить доступ к файлу, который хранится вне директории приложения c. Это понимание правильно?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...