放牧代码和思想
专注自然语言处理、机器学习算法
    正处于一个非常忙的阶段,抱歉不会经常回应任何联络

Android WebView clearHistory 失效的解决方案

为了让返回按钮控制WebView“返回上一页”,我处理了按钮消息并加入相关逻辑。同时为了复用WebView,我需要在特定的时候调用 WebView::clearHistory() ,不料WebView::clearHistory()并未起作用。

原因是WebView::clearHistory()有个奇怪的特性,那就是只清除当前页之前的历史记录。假设当前页面为A,我调用WebView::clearHistory()然后loadUrl(B),接着回退还是会退到A。所以正确的调用时机是在B完全载入之后才行,简单的解决方案:

        mWebView.loadUrl("B")
        mWebView.postDelayed(new Runnable()
        {
            @Override
            public void run()
            {
                mWebView.clearHistory();
            }
        }, 1000);

参考方案:https://groups.google.com/forum/#!topic/android-developers/Onpbm7esvsM

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » Android WebView clearHistory 失效的解决方案

分享到:更多 ()

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机