Удалить данные в браузере - PullRequest
0 голосов
/ 07 ноября 2011

Я могу удалить данные из информации о приложении, вы хотите удалить данные навсегда, когда приложение было прекращено.Тем не менее, данные не могут быть удалены полностью.Вы знаете, в чем проблема из этого источника?

Context context = getBaseContext();
WebView webview = new WebView(context);

deleteCacheDir(this);
clearApplicationCache(null);

CookieManager.getInstance().removeAllCookie();

String[] fileList = this.fileList();
    for(String file: fileList) { 
    this.deleteFile(file);
}
WebViewDatabase.getInstance(this).clearUsernamePassword();
WebViewDatabase.getInstance(this).clearHttpAuthUsernamePassword();

webview.clearSslPreferences();
webview.clearView();

webview.clearFormData();
webview.clearHistory();
webview.clearCache(true);
webview.clearMatches();

context.deleteDatabase("/data/data/android.Packege/databaseswebview.db"
context.deleteDatabase("/data/data/android.Packege/databases/webviewCache.db");

webview.freeMemory();

android.os.Process.killProcess(android.os.Process.myPid());
return true;
}
return true;
}
private void clearApplicationCache(java.io.File dir){
if(dir==null)
    dir = getCacheDir();
else;
    if(dir==null)
    return;
else;
    java.io.File[] children = dir.listFiles();
    try{
        for(int i=0;i<children.length;i++)
        if(children[i].isDirectory())
        clearApplicationCache(children[i]);
        else children[i].delete();
    }
    catch(Exception e){}
}
void deleteCacheDir(Context context) {
    Runtime localRuntime = Runtime.getRuntime();

    String cachePath = context.getCacheDir().getPath();
    String cmd = "rm -R " + cachePath;
    try {
        localRuntime.exec(cmd);
    } catch (IOException e) {
        e.printStackTrace();
        }
    }

1 Ответ

0 голосов
/ 07 ноября 2011

Может быть, вы набрали android.Packege вместо android.Package?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...