我有一个Android应用程序需要来自SD的一些数据,我使用File.exists()方法检查文件所在的条目,并检查SD卡不是UNMOUNTED或SHARED。这在我的设备上工作正常,但是得到了反馈,在其他设备上显示Toast表示没有数据存在。
我的问题是:
1 - 这种检查是否有办法表明即使从PC上拔下SD卡也没有安装或共享?
2 - getExternalStorageDirectory()是否可以解析为内部存储?我知道这听起来如何,但人们告诉我,当将数据复制到内部存储而不是外部存储时,应用程序可以在某些设备上运行,即使我一直告诉他们不应该发生这种情况。
答案 0 :(得分:1)
在许多设备上,getExternalStorageDirectory()不会为您提供SdCard,而是解析为通常称为/ sdcard或/ storage / sdcard0的内部存储。如果你没关系 将microSD放入设备中。这些路径保持不变并且有效。
如果您输入的microSD可以安装在许多名称下,例如:
, "/mnt/sd-ext
, "/mnt/sdcard-ext
, "/mnt/external_sd
, "/mnt/extsd
, "/mnt/extSdCard
, "/mnt/sdcard2
没有确定SD卡的功能。 您必须为用户提供选择存储目录的机会。