我们如何区分闪存和SD卡内存?

时间:2014-01-28 21:52:50

标签: android

有些Android设备有内置闪存,我们可以在Environment.getExternalStorageDirectory()检查这个内存。但是,当我们插入SD卡时,系统会将这两者区分为/storage/sdcard0/storage/sdcard1

我不确定/storage/sdcard0是闪存还是SD卡内存。任何人都可以提供任何解释,哪个是哪个?

1 个答案:

答案 0 :(得分:2)

使用方法Environment.isExternalStorageRemovable()确定它是否是可移动SD卡。

编辑以澄清:

考虑以下方法:

public enum ExternalStorageStatus { 
    READ_WRITE , READ_ONLY, NONE
}

public static ExternalStorageStatus checkExternalStorageStateAvailable(){
    String state = Environment.getExternalStorageState();

    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return ExternalStorageStatus.READ_WRITE;
    } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        return ExternalStorageStatus.READ_ONLY;
    } else {
        return ExternalStorageStatus.NONE;
    }
}

方法Environment.getExternalStorageState()返回存储的当前状态。如果没有REAL外部存储(即isExternalStorageRemoveable() == false的介质),则返回内部存储的当前状态。如果isExternalStorageRemoveable() == true,则getExternalStorageState()返回可移动SD卡的状态。

优先考虑实际外部存储空间。