我嘗試通過清除以前的用戶留下任何私人數據重用現有的WebView:如何清除Android WebView的(CSS)訪問歷史記錄?
CookieManager.getInstance().removeAllCookie();
webview.clearHistory();
webview.clearFormData();
webview.clearCache(true);
clearHistory
似乎只是爲了清除前進/後退清單,通過API訪問,但用於着色不是內部列表網頁內容的鏈接。
我甚至嘗試以下,由另一stackoverflow answer建議:
deleteDatabase("webview.db");
deleteDatabase("webviewCache.db");
我仍然沒有運氣:CSS :visited
選擇重新加載頁面後仍能正常工作。
另一種方法是使用API級別11私密瀏覽功能(新構造函數的參數),但我不能從訪問過的鏈接都受益;並且不能再針對舊版本。
也許有人有這個問題的解決方案?謝謝你的幫助。
摘要的答案我有這麼遠:
我想這兩個答案,但第一似乎清除HTML5數據存儲,而後者似乎是特定於內置的瀏覽器:
WebStorage.getInstance().deleteAllData();
Browser.clearHistory(getContentResolver());
WebChromeClient.getVisitedHistory(ValueCallback<String[]> callback)
只在我第一次在最近安裝的應用程序中創建一個新的WebView後調用。
我試圖從視圖層次中刪除WebView
並創建一個新的,但不幸的是,被訪問的歷史似乎被存儲爲整個應用程序。
感謝您的努力,我喜歡這個想法,但問題在於,getVisitedHistory不會在每次加載頁面時調用(如您已經聲明的)。也許值得努力檢查是否可以強制調用'getVisitedHistory'。 – Nappy 2011-05-23 08:32:25
我剛剛用我個人的想法更新了我的回答。 – 2011-05-23 09:13:37