2014-01-20 71 views
-1

請如何從程序中刪除SD卡中的所有數據(我的意思是格式化SD卡)。 我試圖使用這個,但它只適用於一個文件。如何刪除SD卡中的所有數據

File file = new File(selectedFilePath); 
boolean deleted = file.delete(); 
+2

我能有你的應用程序的名稱中使用> 1.6 SDK

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

? –

+0

你爲什麼要這麼做? –

+1

這是一個應用程序來保護您的數據,當您的設備被盜時! 不要認爲負面! –

回答

1

它對我來說工作得很好。

此代碼可用於從SD卡中刪除所有文件。希望它能工作。謝謝。

public void wipingSdcard() { 
    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) { 
     e.printStackTrace(); 
    } 
} 

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

你也需要賦予權限,如果你在AndroidManifest.xml中文件