Как удалить папки с SDCard при удалении моего приложения в Android? - PullRequest
5 голосов
/ 01 марта 2012

Я прошел по ссылке , в которой говорится, что внешние папки будут автоматически удаляться при удалении моего приложения.

Я использую следующий код для создания папок и файлов:

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

Моя проблема в том, что папка myAppFolder не удаляется при удалении приложения.

Я что-то не так делаю?

Ответы [ 4 ]

10 голосов
/ 01 марта 2012

Сохраните его в вашей личной папке приложений (/ data / data / yourappPackege ).Эта папка будет удалена при удалении приложения.
Вы можете получить личную папку с помощью метода getFilesDir() Другие файлы не могут быть удалены, потому что ваше приложение не «знает», когда оно удаляется.

1 голос
/ 01 марта 2012

Эй, ссылка говорит, что если вы используете getExternalCacheDir (), то при удалении приложения автоматически удаляются только папки.Поэтому, пожалуйста, исправьте себя.Если вы используете getExternalStorageDirectory , то вам нужно вручную удалить папку, запрограммировав

, чтобы удалить папку, которую вы можете использовать ниже кода

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

    File f1=new File(TEMP_FOLDER_PATH);
    f1.delete();
0 голосов
/ 12 августа 2013

см. Эту работу для удаления

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

}

0 голосов
/ 01 марта 2012

Нет.ОС Android не удаляет файлы SDCard, соответствующие одному приложению, когда приложение удаляется.

...