我用它来检查之前是否有外部SD卡:
public static boolean externalMemoryAvailable() {
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}
但是它返回true并且external SD card
的路径是“/storage/emulated/0
而我的测试机器(Mi Note Pro)没有外部SD卡。所以我想知道是否还有其他功能需要检查外部SD卡。
希望有人帮助我!谢谢!
答案 0 :(得分:2)
public boolean externalMemoryAvailable() {
if (Environment.isExternalStorageRemovable()) {
//device support sd card. We need to check sd card availability.
String state = Environment.getExternalStorageState();
return state.equals(Environment.MEDIA_MOUNTED) || state.equals(
Environment.MEDIA_MOUNTED_READ_ONLY);
} else {
//device not support sd card.
return false;
}
}
此问题已在Stack Overflow上提出,并有答案here
答案 1 :(得分:0)
你好,你走在正确的轨道上..
只需使用
Environment.isExternalStorageRemovable()
如果它是真正的SD卡,那就是chek。在现代设备中,内部存储也被视为SD卡。
答案 2 :(得分:0)
Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(isSDPresent)
{
// yes SD-card is present
}
else
{
// Sorry
}
此问题已于Check whether the SD card is available or not programmatically
解决