使用 SAF,我在文件提供程序中创建了一个文件。然后在 onActivityResult 中,我保留对该文件的权限并将 Uri 存储到共享首选项中。后来我将数据写入文件。
这似乎有效。除非文件被删除/移动/重命名或基本上不再存在。
我可以使用以下方法检查它是否存在:
val file = DocumentFile.fromSingleUri(applicationContext, uri)
if (!file!!.exists())
但这并不能解决我无法使用 写入数据的问题contentResolver.openOutputStream(uri)
,因为我得到了FileNotFoundException
.
有没有办法使用存储的 Uri 创建文件,而我仍然应该保留权限?