Webview没有清除以前的Android页面

时间:2017-07-04 05:30:59

标签: android webview android-webview

我有一个webView,它会在按钮点击时更改其加载URL。 一切正常,除了加载的URL似乎没有正确清除。

之前的网址已加载到网页视图中,并在新网址出现之前显示。我尝试使用

webView.clearView()

webView.clearHistory()

webView.loadUrl("关于:空白&#34)

webView.clearCache(真)

并尝试清除Cookie。但没有什么能帮助清理webview。

我也试过webView.destroy();但是webView被完全破坏,因为我无法加载下一个url。

请帮忙。

2 个答案:

答案 0 :(得分:0)

此订单对我有用

        mWebView.clearCache(true);
        mWebView.clearHistory();
        clearCookies(this); // Activity context


 @SuppressWarnings("deprecation")
    private void clearCookies(Context context)
    {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            CookieManager.getInstance().removeAllCookies(null);
            CookieManager.getInstance().flush();
        } else
        {
            CookieSyncManager cookieSyncMngr=CookieSyncManager.createInstance(context);
            cookieSyncMngr.startSync();
            CookieManager cookieManager=CookieManager.getInstance();
            cookieManager.removeAllCookie();
            cookieManager.removeSessionCookie();
            cookieSyncMngr.stopSync();
            cookieSyncMngr.sync();
        }
    }

答案 1 :(得分:0)

您的MainActivity.java中是否有此功能?

private class MyBrowser extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("tel:") || url.startsWith("sms:") || url.startsWith("smsto:") || url.startsWith("mailto:") || url.startsWith("mms:") || url.startsWith("mmsto:") || url.startsWith("market:")) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
            return true;
        }
        else {
            view.loadUrl(url);
            return true;
        }
    }
}