Nik
Nik

Reputation: 3133

How to delete folders from SDCard during uninstalling of my app in Android?

I went through the following link which says that the external folders will be deleted automatically during uninstallation of my app.

I am using the following code to create the folders and file:

private static String TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory() + "/myAppFolder/";

My problem is that the folder myAppFolder is not getting deleted when I uninstall the app.

Am I going wrong anywhere?

Upvotes: 5

Views: 4623

Answers (4)

Anil M H
Anil M H

Reputation: 3342

see this work for delete

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

}

Upvotes: -1

Maneesh
Maneesh

Reputation: 6128

Hey the link says that If you use getExternalCacheDir(), then only folders auto deleted when uninstalling the app. So please correct your self. If you are using getExternalStorageDirectory , then you have to manually delete the folder by programming

to delete a folder you can use below code

String TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory() + "/myAppFolder/";

    File f1=new File(TEMP_FOLDER_PATH);
    f1.delete();

Upvotes: 1

Sadeshkumar Periyasamy
Sadeshkumar Periyasamy

Reputation: 4908

No. The Android OS does not remove the SDCard files corresponding to one App when the App is uninstalled.

Upvotes: 0

Thommy
Thommy

Reputation: 5407

Save it in your Apps Private Folder (/data/data/yourappPackege). This folder will be removed when uninstalling the App.
You can get your private Folder with the Method getFilesDir() Other files can not be removed because your App does not "know" when it is being removed.

Upvotes: 10

Related Questions