可以在Android ICS上安装Environment.getExternalStorageState()吗?

时间:2012-06-30 11:57:30

标签: android android-4.0-ice-cream-sandwich android-sdcard

我从以前的Android 2.1-2.3项目中获得了以下代码,用于检查SD卡是否已挂载和写入。

@Override
protected void onResume() {
    super.onResume();
    checkSDCard();
}

private void checkSDCard(){
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        Log.d(TAG, "SD card mounted and writable.");
    } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        Log.d(TAG, "sdcard mounted readonly");
    } else {
        Log.d(TAG, "sdcard state: " + state);
        mWarningSdCardDialog = new AlertDialog.Builder(this)
                .setTitle("Warning")
                .setMessage(R.string.warning_sdcard_message)
                .setPositiveButton(getString(android.R.string.ok),
                        mWarningSdCardDialogCliclListener)
                .setCancelable(false)
                .create();
        mWarningSdCardDialog.show();
    }
}

现在我正在研究将在Android ICS设备上推出的项目。我发现Android ICS设备不能简单地连接到像USB Mass Storage这样的计算机。 我的问题是:现在我的旧代码有什么意义吗? SD卡是否总是在Android ICS上安装和写入?

谢谢。

1 个答案:

答案 0 :(得分:0)

是的,仍然有意义。有些设备(例如Nexus S)允许使用ICS和JB进行USB大容量存储模式。