スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android SDカードの確認と容量の確認

Android端末で使用しているSDカード(外部記憶)について

端末をPCへ接続してPCにSDカードをマウントしている状態だと、端末上からは「使用不可(アンマウント)」状態になってしまうため、アプリ内でSDカードを使用している場合は気をつけなければならない(エラーになる)。

■SDカードのマウント確認

boolean rst = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());


戻り値としてtrue,falseが戻ってくる。
SDカードが端末上でアンマウント状態だと、SDカードが使用できないため「false」が返ってくる。

アプリとしては、falseが返ってきた場合に、アプリを強制終了させるとよいかも。。

if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
AlertDialog.Builder alert = new AlertDialog.Builder(activity);
alert.setCancelable(false);
alert.setTitle("Error");
alert.setMessage("SD Card Error");
alert.setPositiveButton("close", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
activity.finish();
}
});
alert.show();
return false;
}


■SDカードの容量の確認
SDカードの容量の確認

File sd = Environment.getExternalStorageDirectory();
int size = 0;
StatFs fs = new StatFs(sd.getAbsolutePath());
size = fs.getBlockSize() * fs.getAvailableBlocks();

端末の容量確認

File hon = Environment.getDataDirectory();
fs = new StatFs(hon.getAbsolutePath());
int size2 = fs.getBlockSize() * fs.getAvailableBlocks();


どちらもバイトで返ってくるため、わかりやすく1024で割るなりして、kバイト、mバイトへの変換が必要かもしれない。
スポンサーサイト

テーマ : android
ジャンル : コンピュータ

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
おすすめアプリ
カテゴリ
最新記事
リンク
アクセスカウンター
アクセス解析
imobile
i-mobile
i-mobile
i-mobile
i-mobile
i-mobile
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Amazon
Androidお勧め参考書
EC studio
商品
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。