У меня есть приложение с SharedPreferences. Я хотел бы очистить все данные приложения одним нажатием кнопки, чтобы приложение запускалось заново, как при первой установке.
У меня есть приложение с SharedPreferences. Я хотел бы очистить все данные приложения одним нажатием кнопки, чтобы приложение запускалось заново, как при первой установке.
Я пробовал:
ClearData.java
[code]public class ClearData extends Application { private static ClearData instance;
@Override public void onCreate() { super.onCreate(); instance = this; }
public static ClearData getInstance() { return instance; }
public void clearApplicationData() { File cache = getCacheDir(); File appDir = new File(cache.getParent()); if (appDir.exists()) { String[] children = appDir.list(); for (String s : children) { if (!s.equals("lib")) { deleteDir(new File(appDir, s)); Log.i("TAG", "**************** File /data/data/mypackage/" + s + " DELETED *******************"); } } } }
public 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; } } }