AndroidはSDカードが存在するかどうかを判断し、容量照会
1845 ワード
AndroidでSDカードが存在するかどうかを判断する簡単な方法は以下の通りです.
まずAndroidManifestでxmlにSDカードアクセス権を追加
SDカードは存在するか
SDカードの空き容量
SDカードの総容量
まずAndroidManifestでxmlにSDカードアクセス権を追加
<!-- SDCard -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- SDCard -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
SDカードは存在するか
private boolean ExistSDCard() {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
return true;
} else
return false;
}
SDカードの空き容量
public long getSDFreeSize(){
// SD
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// (Byte)
long blockSize = sf.getBlockSize();
//
long freeBlocks = sf.getAvailableBlocks();
// SD
//return freeBlocks * blockSize; // Byte
//return (freeBlocks * blockSize)/1024; // KB
return (freeBlocks * blockSize)/1024 /1024; // MB
}
SDカードの総容量
public long getSDAllSize(){
// SD
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// (Byte)
long blockSize = sf.getBlockSize();
//
long allBlocks = sf.getBlockCount();
// SD
//return allBlocks * blockSize; // Byte
//return (allBlocks * blockSize)/1024; // KB
return (allBlocks * blockSize)/1024/1024; // MB