天天看點

android判斷存儲卡,Android中判斷SD卡狀态

String status = Environment.getExternalStorageState();

if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED)) {

Toast.makeText(TechoLite.this, "SD卡存在", Toast.LENGTH_LONG).show();

// 此時SD是可讀寫的

} else if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED_READ_ONLY)) {

Toast.makeText(TechoLite.this, "雖然SD存在,但是為隻讀狀态", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_REMOVED)) {

Toast.makeText(TechoLite.this, "SD不存在", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_SHARED)) {

Toast.makeText(TechoLite.this, "雖然SD卡存在,但是正與PC等相連接配接", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_BAD_REMOVAL)) {

Toast.makeText(TechoLite.this, "SD卡在挂載狀态下被錯誤取出", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_CHECKING)) {

Toast.makeText(TechoLite.this, "正在檢查SD卡", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_NOFS)) {

Toast.makeText(TechoLite.this, "雖然SD卡存在,但其檔案系統不被支援", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_UNMOUNTABLE)) {

Toast.makeText(TechoLite.this, "雖然SD卡存在,但是無法被挂載", Toast.LENGTH_LONG).show();

} else if (status.equalsIgnoreCase(Environment.MEDIA_UNMOUNTED)) {

Toast.makeText(TechoLite.this, "雖然SD卡存在,但是未被挂載", Toast.LENGTH_LONG).show();

} else {

Toast.makeText(TechoLite.this, "其他原因", Toast.LENGTH_LONG).show();

}