DocumentFile.createDirectory() 可写为 File 对象
DocumentFile.createDirectory() which will be writable as File object
我在 Android 7 的 sd 卡上有一些路径,使用即时访问要求是不可写的,所以我必须使用 StorageVolume.createAccessIntent,因此稍后使用 DocumentFile 而不是 File。但问题是我需要使用 File,因为我正在使用的 db lib(realm) 只是使用 File 对象来存储数据。所以关键是我必须创建目录并且这个目录(它的路径)必须具有写入权限。如何使用 DocumentFile.createDirectory() 或类似的东西来做到这一点?
So the point is that I have to createDirectory and this directory(it's path) has to have writing access
不支持。
您必须对 removable storage 进行的唯一直接文件系统访问是通过 getExternalFilesDirs()
、getExternalCacheDirs()
和 getExternalMediaDirs()
(Context
上的所有方法)。如果这些 return 2+ 项,则第二项和后续项是您的应用程序独有的可移动存储位置,您可以 read/write 使用经典 File
对象。
否则,请将您的 Realm 数据库保持在 external storage,然后在适当的时候将其复制到可移动存储(例如,用户启动的 "export" 或 "backup" 操作)。
我在 Android 7 的 sd 卡上有一些路径,使用即时访问要求是不可写的,所以我必须使用 StorageVolume.createAccessIntent,因此稍后使用 DocumentFile 而不是 File。但问题是我需要使用 File,因为我正在使用的 db lib(realm) 只是使用 File 对象来存储数据。所以关键是我必须创建目录并且这个目录(它的路径)必须具有写入权限。如何使用 DocumentFile.createDirectory() 或类似的东西来做到这一点?
So the point is that I have to createDirectory and this directory(it's path) has to have writing access
不支持。
您必须对 removable storage 进行的唯一直接文件系统访问是通过 getExternalFilesDirs()
、getExternalCacheDirs()
和 getExternalMediaDirs()
(Context
上的所有方法)。如果这些 return 2+ 项,则第二项和后续项是您的应用程序独有的可移动存储位置,您可以 read/write 使用经典 File
对象。
否则,请将您的 Realm 数据库保持在 external storage,然后在适当的时候将其复制到可移动存储(例如,用户启动的 "export" 或 "backup" 操作)。