android 4.0 取内外置SD卡新特性

private StorageManager mStorageManager =null;

protected String mSDCardPath =null;

protected boolean mSDCardMounted =true;

protected boolean mSDCard2Mounted =false;

protected String mSDCardPath =null;

protected String mSDCard2Path =null;

mStorageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);

String[] storagePathList = mStorageManager.getVolumePaths();

if (storagePathList !=null) {

Log.d(TAG, "StorgaeList size: " + storagePathList.length);

    if (storagePathList.length >=2) {

mSDCardPath = storagePathList[0];

        mSDCard2Path = storagePathList[1];

    }else if (storagePathList.length ==1) {

mSDCardPath = storagePathList[0];

    }

}

Log.d(TAG, "SDCard path: " + mSDCardPath); 

Log.d(TAG, "SDCard2 path: " + mSDCard2Path);


mSDCardMounted = checkSDCardMount(mSDCardPath);

mSDCard2Mounted = checkSDCardMount(mSDCard2Path);

Log.d(TAG, "SDCard state in onCreate: " + mSDCardMounted);

Log.d(TAG, "SDCard2 state in onCreate: " + mSDCard2Mounted);

//判断sdcard是否挂载上,返回值为true证明挂载上了,否则不存在

protected boolean checkSDCardMount (String mountPoint){

if (mountPoint ==null) {

    return false;

    }

    String state =null;

    state = mStorageManager.getVolumeState(mountPoint);

    return Environment.MEDIA_MOUNTED.equals(state);

}

你可能感兴趣的:(android 4.0 取内外置SD卡新特性)