Android чистые данные приложений - PullRequest
1 голос
/ 02 февраля 2012

Я занимаюсь разработкой приложения, в котором есть кнопка, которая удалит все данные (включая файлы, базы данных, общие настройки), связанные с этим приложением.любой может дать мне знать, как очистить данные приложения по коду.

1 Ответ

6 голосов
/ 02 февраля 2012

вызов clearApplicationData для удаления данных приложения:

/**
 * Call this method to delete any cache created by app
 * @param context context for your application
 */
public static void clearApplicationData(Context context) {
    File cache = context.getCacheDir();
    File appDir = new File(cache.getParent());
    if (appDir.exists()) {
        String[] children = appDir.list();
        for (String s : children) {
            File f = new File(appDir, s);
            if(deleteDir(f))
                Log.i(TAG, String.format("**************** DELETED -> (%s) *******************", f.getAbsolutePath()));
        }
    }
}
private static boolean deleteDir(File dir) {
    if (dir != null && dir.isDirectory()) {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++) {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) {
                return false;
            }
        }
    }
    return dir.delete();
}
...