2011-11-07 59 views
0

我可以從應用程序信息中刪除數據,當應用程序終止時,您想永久刪除數據。但是,數據不能完全刪除。你知道這個來源有什麼問題嗎?在瀏覽器中刪除數據

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

回答

0

難道你輸入android.Packege,而不是android.Package

+0

哦,對不起。遺憾的是,其餘數據仍然是android.Package。 – Codec

+0

是這個問題嗎?代碼現在可以工作嗎? – iCantSeeSharp

+0

是的,正在運行。我可能會保持在或KB。從數據中刪除,不是信息,想自動成爲0KB。 – Codec