Как мне записать на SD-карту на Nougat / Android 7.0 (для VR)? - PullRequest
0 голосов
/ 07 мая 2018

Я ищу способ, позволяющий приложению VR Android (для Samsung Galaxy S7 и S9) записывать файлы на SD-карту (например, загружая ZIP-файл и распаковывая его там).

Приложение в основном будет использоваться людьми, которые мало знают об Android / смартфонах и не хотят иметь дело с чем-то сложным (не обязательно старшим, но достаточно близким), поэтому я хочу сделать их как можно более простыми, что также включает в себя сам выбор (и настройку для них) вместо показа сложных диалогов.

Особые требования:

  • Файлы не должны быть удалены при удалении приложения - поэтому я могу использовать getExternalFilesDirs() (Том хранения).
  • Папка, в которой все происходит, должна быть легко доступна, поэтому zip-файлы можно также перенести на SD-карту на вашем ПК (вместо загрузки их через приложение в случае, если они слишком большие) без необходимости спускаться огромное количество уровней и запоминание длинного пути к папке.
  • Использование Storage Access Framework также не является хорошей альтернативой, поскольку не только не выбирает папки, которые не особенно удобны для виртуальной реальности, но и требует знаний о папках, которые большинство пользователей просто не имеют и / или не хотят иметь дело с каждым разом, когда они открывают мое приложение. Но: если бы был способ показать это только один раз (при самом первом запуске после установки приложения) и, возможно, даже установить корневую папку в папку, которую я выбрал, так что пользователям нужно всего лишь нажать «принять», это будет Стоит попробовать (если нет более простого способа).

Да, я установил разрешение android.permission.WRITE_EXTERNAL_STORAGE, а также включил параметр разработчика "force allow apps on external storage", но при попытке записи на SD-карту по-прежнему выдается исключение «Отказано в доступе».

Есть ли другие способы записи на SD-карту, поддерживающие VR?

...