[英]formatting SD CARD in Android
我要格式化SD卡,正在使用以下代碼。 但是SD卡無法安裝。
public boolean formatSD() {
boolean bool = false;
IMountService mountService = null;
try{
IBinder ibi = ServiceManager.getService("mount");
if(ibi!=null) {
mountService = IMountService.Stub.asInterface(ibi);
String extern_sd = Environment.getFlashStroageDirectory().getAbsolutePath();
mountService.unmountVolume(extern_sd, true);
Thread.sleep(4000);
int result_format = mountService.formatVolume(extern_sd);
System.out.println("result_format: "+result_format);
if(result_format==0){
Thread.sleep(4000);
int result_mount = mountService.mountVolume(extern_sd);
System.out.println("result_mount: "+ result_mount);
}
bool = true;
}
}catch(Exception e){
System.out.println("Exception format: "+e.getMessage());
}
return bool;
}
有人可以告訴我我做錯了什么嗎? 謝謝
嘗試這個
public void wipeMemoryCard() {
File deleteMatchingFile = new File(Environment
.getExternalStorageDirectory().toString());
try {
File[] filenames = deleteMatchingFile.listFiles();
if (filenames != null && filenames.length > 0) {
for (File tempFile : filenames) {
if (tempFile.isDirectory()) {
wipeDirectory(tempFile.toString());
tempFile.delete();
} else {
tempFile.delete();
}
}
} else {
deleteMatchingFile.delete();
}
} catch (Exception e) {
Utils.log(e.getMessage());
}
}
private static void wipeDirectory(String name) {
File directoryFile = new File(name);
File[] filenames = directoryFile.listFiles();
if (filenames != null && filenames.length > 0) {
for (File tempFile : filenames) {
if (tempFile.isDirectory()) {
wipeDirectory(tempFile.toString());
tempFile.delete();
} else {
tempFile.delete();
}
}
} else {
directoryFile.delete();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.