SD卡——检查存储介质的可用性

每次使用外部存储之前,都应该先调用getExternalStorageState()方法来检查存储介质是否可用

调用getExternalFilesDir()方法,传入下面的参数可得到外部存储中的目录:

Environment.DIRECTORY_MUSIC:存放音乐文件

Environment.DIRECTORY_MOVIES:存放视频文件

Environment.DIRECTORY_DOWNLOADS:存放下载的文件

Environment.DIRECTORY_PICTURES:存放图片

Environment.DIRECTORY_RINGTONES:存放铃声文件

Environment.DIRECTORY_ALARMS:存放提示音文件

调用getExternalStoragePublicDirectory()方法可得到外部公用目录:

Music/:媒体扫描器会将这里的文件归类为音乐。

Podcasts/:媒体扫描器会将这里的文件归类为podcast(播客)。

Ringtones/:媒体扫描器会将这里的文件归类为铃声。

Alarms/:媒体扫描器会将这里的文件归类为警告音。

Notifications/:媒体扫描器会将这里的文件归类为通知声。

Pictures/:存放图片,不包括用照相机拍摄的图片。

Movies/:存放视频,不包括用照相机的摄像功能拍摄的视频。

Download/:存放各种下载的文件。

boolean exStorageReadable = false;
boolean exStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
    /* 可以读写外部存储介质 */
    exStorageReadable = exStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    /* 只能读,不能写 */
    exStorageReadable = true;
    exStorageWriteable = false;
} else {
     // 不能读写,外部存储介质可能处于上文中所讲的任一一种不可用状态之中,或其他不可用的状态
    exStorageReadable = exStorageWriteable = false;
}

 

posted @ 2016-04-25 11:37  沉默的羊癫疯  阅读(416)  评论(0)    收藏  举报