0

有什么办法可以重置所有应用程序数据?我的意思是,数据库、缓存、应用程序文件夹等。我想在onDestroy()调用应用程序时这样做。我正在寻找一个全局解决方案 - 我不知道在数据库中创建的表,我只知道包名称。

4

1 回答 1

0

试试这个代码。

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/APP_PACKAGE/" + 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;
                }
            }
        }

        return dir.delete();
    }

礼貌的hrupin。更多请点击这里

于 2013-11-11T08:46:38.817 回答