2010年09月19日

Android端末にてSDカードの接続状態を確認する[サンプルソース付き]

Android端末にてSDカードの接続状態を確認する方法について。

Android端末でSDカードにデータの読み書きをする場合、事前に接続状態をチェックしておくことで安全に利用したり、問題発生時の切り分けに役立ったりします。
ここでは、SDカードの接続状態をチェックする機能を紹介します。

▼サンプルソース(抜粋)
String status = Environment.getExternalStorageState();

if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED)){
Toast.makeText(MainActivity.this,
"SDカードが装着されている",
Toast.LENGTH_LONG).show();
//この状態が返ってきた場合は、読み書きが可能です。
}
else if (status.equalsIgnoreCase(Environment.MEDIA_MOUNTED_READ_ONLY)){
Toast.makeText(MainActivity.this,
"SDカードが装着されていますが、読み取り専用・書き込み不可です",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_REMOVED)){
Toast.makeText(MainActivity.this,
"SDカードが装着されていません",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_SHARED)){
Toast.makeText(MainActivity.this,
"SDカードが装着されていますが、USBストレージとしてPCなどに" +
"マウント中です", Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_BAD_REMOVAL)){
Toast.makeText(MainActivity.this,
"SDカードのアンマウントをする前に、取り外しました",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_CHECKING)){
Toast.makeText(MainActivity.this,
"SDカードのチェック中です",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_NOFS)){
Toast.makeText(MainActivity.this,
"SDカードは装着されていますが、ブランクであるか、" +
"またはサポートされていないファイルシステムを利用しています",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_UNMOUNTABLE)){
Toast.makeText(MainActivity.this,
"SDカードは装着されていますが、マウントすることができません",
Toast.LENGTH_LONG).show();
}
else if (status.equalsIgnoreCase(Environment.MEDIA_UNMOUNTED)){
Toast.makeText(MainActivity.this,
"SDカードは存在していますが、マウントすることができません",
Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(MainActivity.this,
"その他の要因で利用不可能",
Toast.LENGTH_LONG).show();
}


▼サンプルソース(ダウンロード)

サンプルソースダウンロード


★その他のAndroidプログラミングTipsについてはこちら


posted by Monmonkey at 08:50| Comment(0) | Android Programing Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
Powered by Seesaa
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。