Webview没有清除上一页Android

Posted

技术标签:

【中文标题】Webview没有清除上一页Android【英文标题】:Webview not clearing previous page Android 【发布时间】:2017-07-04 05:30:58 【问题描述】:

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

之前的 url 在 webview 中加载,并在新 url 出现之前显示。我尝试使用

webView.clearView()

webView.clearHistory()

webView.loadUrl("about:blank"),

webView.clearCache(true)

还尝试清除 cookie。但是没有什么能帮助正确清除 webview。

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

请帮忙。

【问题讨论】:

【参考方案1】:

这个命令对我有用

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

【讨论】:

问题仍然存在。我试图加载一个手动输入到编辑文本中的 url。当我按下按钮时,网址会加载。但是在加载下一个 url 之前,第一个 webview 会在视图中停留一段时间。即使应用了您的技术,问题仍未解决。【参考方案2】:

你的 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;
        
    

【讨论】:

不..我正在使用片段

以上是关于Webview没有清除上一页Android的主要内容,如果未能解决你的问题,请参考以下文章

如果在 WebView 中按下后退按钮,如何返回上一页?

如果在 WebView 片段中按下后退按钮,如何返回上一页?

fragment中的WebView返回上一页

如果在 Fragment 的 WebView 中按下后退按钮,如何返回上一页?

webview javascript将值推送到上一页不起作用

webview收不到服务端的cookie