I tried File.delete()
but it doesn't work. How to delete a directory on SD card?
I'm working on Android 2.1.
▶ The file system of SD card partition is corrupted. If so, your SD card might be protected by adding read-only attributes to all files. Thus, you are not allowed to delete files.
If it's stored in the SD card, you can perform the deletion on Android device or computer easily. While it's stored in Android memory, just delete it on Android.
Cause 2: Read-only mode. There might be a "Lock" tab present. If the tab is switched on, then it will successfully lock your storage device and will enable a read-only mode. Now files cannot be deleted from the SD card.
You have to have all the directory empty before deleting the directory itself, see here
In Android, you should have the proper permissions as well - WRITE_EXTERNAL_STORAGE
in your manifest.
EDIT: for convenience I copied the code here, but it is still from the link above
public static boolean deleteDirectory(File path) {
if( path.exists() ) {
File[] files = path.listFiles();
if (files == null) {
return true;
}
for(int i=0; i<files.length; i++) {
if(files[i].isDirectory()) {
deleteDirectory(files[i]);
}
else {
files[i].delete();
}
}
}
return( path.delete() );
}
https://stackoverflow.com/a/16411911/2397275
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
in AndroidManifest.xml file
it's worked fine for me, i hope it will work for you.
File dir = new File(Environment.getExternalStorageDirectory()+"DirName");
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
new File(dir, children[i]).delete();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With