一个简单的问题。默认情况下,android不允许第三方应用程序写入可移动SD卡。
但在Android 5.0中,我可以请求写入可移动SD卡的权限,并在该目录中写入任何文件。
那怎么办呢?我需要输出流来写入文件。
答案 0 :(得分:1)
我可以请求允许写入外部SD卡并在该目录中写入任何文件。
不是。
在Android 4.4及更高版本中,您可以使用getExternalFilesDirs()
,getExternalCacheDirs()
和getExternalMediaDirs()
。如果它们返回2个以上的项目,则第二个和后续项目将成为可移动存储的位置。
在Android 5.0及更高版本中,您可以使用ACTION_OPEN_DOCUMENT_TREE
来要求用户授予您访问文档树的权限。 可能是可移动存储的根源......或者用户想要使用的任何其他东西。这会为您提供Uri
后退,您可以将其与DocumentFile
以及存储访问框架的其余部分一起使用。它不为您提供文件系统访问权限(例如,通过File
)。
在Android 7.0及更高版本中,您可以使用StorageManager
和StorageVolume
来请求访问可移动存储卷。不过,您再次使用Uri
,DocumentFile
,ContentResolver
等等 - 您无法获得文件系统访问权限。