【发布时间】:2012-11-23 05:38:47
【问题描述】:
在我的 android 应用程序中,我将一些文件写入 SD 卡。 但是有一个条件,如果 SD 卡是只读的 然后我必须相应地更改屏幕设置。 如果 SD 卡是只读的,我如何在我的代码中检查它?
【问题讨论】:
在我的 android 应用程序中,我将一些文件写入 SD 卡。 但是有一个条件,如果 SD 卡是只读的 然后我必须相应地更改屏幕设置。 如果 SD 卡是只读的,我如何在我的代码中检查它?
【问题讨论】:
尝试将Environment.MEDIA_MOUNTED_READ_ONLY 用作:
String status = Environment.getExternalStorageState();
if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED)) {
Toast.makeText(Activity.this, "SD MEDIA_MOUNTED", Toast.LENGTH_LONG).show();
} else if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED_READ_ONLY)) {
Toast.makeText(Activity.this, "MEDIA_MOUNTED_READ_ONLY",
Toast.LENGTH_LONG).show();
}
【讨论】:
还有更完整的答案...
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
mExternalStorageAvailable = mExternalStorageWriteable = true;
}
else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// We can only read the media
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
// check_folder();
} else {
// Something else is wrong. It may be one of many other states, but all we need
// to know is we can neither read nor write
mExternalStorageAvailable = mExternalStorageWriteable = false;
}
【讨论】: