#android #webview #android-webview
#Android #webview #android-webview
Вопрос:
Я могу удалить данные из информации о приложении, вы хотите навсегда удалить данные, когда приложение было завершено. Однако данные не могут быть удалены полностью. Вы знаете, в чем проблема из этого источника?
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:
Может быть, вы ввели android.Packege
вместо android.Package
?
Комментарии:
1. О, извините. Ошибка в написании. Когда остальные данные все еще Android. Пакет.
2. Да, и выполняется. Я мог бы, но остается на уровне или КБ. Удаленные данные, а не информация, должны автоматически составлять 0 КБ.
3. Хотя программа перемещается, иногда данные остаются.