Используя SAF, я создаю файл в провайдере файлов. В onActivityResult я затем сохраняю разрешения для этого файла и сохраняю Uri в общих настройках. Позже я записываю данные в файл.
Кажется, это работает. за исключением случаев, когда файл был удален / перемещен / переименован или в основном, если он больше не существует.
Я могу проверить, существует ли он или нет, используя:
val file = DocumentFile.fromSingleUri(applicationContext, uri)
if (!file!!.exists())
Но это не решает проблема в том, что я не могу записать свои данные, используя contentResolver.openOutputStream(uri)
, потому что я получаю FileNotFoundException
.
Есть ли способ создать файл, используя сохраненный Uri, в то время как у меня все еще должны быть сохранены разрешения?