如何在Xperia Z1上从我的SD卡中读取文件?
Environment.getExternalStorageDirectory()指向内部存储器!
发布于 2014-06-19 00:46:49
根据Environment文档,外部存储目录“传统上……是SD卡,但它也可以作为设备中的内置存储来实现,该设备与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。”
此外,“如果用户已在其计算机上挂载该目录,或已从设备中删除该目录,或者发生了其他问题,则当前可能无法访问该目录”。
要检查外部存储目录的状态,请使用以下函数:
Environment.getExternalStorageState();上述函数的文档可以在here上找到。
您还可以通过以下功能检查外部存储是否可移动(以及SD卡):
Environment.isExternalStorageRemovable();如果外部存储器是SD卡,它将返回true。
编辑:
要查找设备的SD卡路径,您可以使用adb shell和以下命令:
adb shell 'echo ${SECONDARY_STORAGE%%:*}'(Source)
This thread可能会暗示一个实际的答案,许多人对此存在矛盾。
发布于 2014-06-19 04:05:39
试一试
File dirs [] = getExternalFileDirs(); 如果有更多,最后一个将在可移动卡上。您只能在外部文件目录中写入。但要把整张牌都读完。只需从路径前面的部分.../Android/....
发布于 2015-10-16 16:46:34
您可以使用以下代码获取外部存储卡路径
String path4 = System.getenv("SECONDARY_STORAGE");你得到了路径:/storage/ExtSdCard(你的外部SDCard名称)
https://stackoverflow.com/questions/24290884
复制相似问题