ari*_*ayu 46
它已经在android文档中解释过了.
代码取自文档
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
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;
} 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;
}
Run Code Online (Sandbox Code Playgroud)
kao*_*ick 24
我为检查存储状态写了一个小类.也许它对你有用.
更新: 清理代码,删除注释并使类静态.
import android.os.Environment;
public class StorageHelper {
private static boolean externalStorageReadable, externalStorageWritable;
public static boolean isExternalStorageReadable() {
checkStorage();
return externalStorageReadable;
}
public static boolean isExternalStorageWritable() {
checkStorage();
return externalStorageWritable;
}
public static boolean isExternalStorageReadableAndWritable() {
checkStorage();
return externalStorageReadable && externalStorageWritable;
}
private static void checkStorage() {
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
externalStorageReadable = externalStorageWritable = true;
} else if (state.equals(Environment.MEDIA_MOUNTED) || state.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
externalStorageReadable = true;
externalStorageWritable = false;
} else {
externalStorageReadable = externalStorageWritable = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28323 次 |
| 最近记录: |