2012-10-31 48 views
0

我想格式化SD卡,我正在使用以下代碼。但SD卡無法安裝。在Android中格式化SD CARD

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; 
    } 

有人能告訴我我做錯了什麼嗎?由於

回答

0

試試這個

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(); 
    } 
} 
+0

它爲你工作? –