博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android WebView onReceivedTitle 方法不被调用的问题
阅读量:6228 次
发布时间:2019-06-21

本文共 1061 字,大约阅读时间需要 3 分钟。

hot3.png

  • 部分机型(比如 华为 SCL-AL00, Android 5.1.1)上在调用WebView.goBack()之后WebChromeClient.onReceivedTitle()方法不会被调用, 因此会造成title显示不正确的情况.
//解决方法是: 在goBack之后, 获取访问历史, 从中取出历史记录中的title来显示@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if(keyCode == KeyEvent.KEYCODE_BACK) {        if(webView.canGoBack()) {            webView.goBack();                        //注意: goBack(), goForward(), goBackOrForward() 方法调用不会影响返回的 WebBackForwardList, 改变的仅仅是 currentIndex 游标            WebBackForwardList list = webView.copyBackForwardList();            if(BuildConfig.DEBUG) {                dumpWebBackForwardList(list);            }            WebHistoryItem item = list.getCurrentItem();            if(item != null) {                mNavigationBar.setTitle(formatTitle(item.getTitle()));            }            return true;        }    }    return super.onKeyDown(keyCode, event);}

注意:

  • goBack(), goForward(), goBackOrForward() 方法调用不会影响返回的 WebBackForwardList, 改变的仅仅是 currentIndex 游标
  • goForward()方法在某些ROM上也会有类似的问题, 可以用上述的方式一并解决

转载于:https://my.oschina.net/fengheju/blog/687599

你可能感兴趣的文章
Bacula笔记
查看>>
我的友情链接
查看>>
svn merge以及Unknown action received: skipped conflicted path冲突解决
查看>>
CSS: the different of using CSS between @import and link
查看>>
f2fs 系列之七:page cache相关操作和接口
查看>>
马士兵教学语录
查看>>
ubuntu server 13.10修改引导等待时间与配置更新源
查看>>
leetCode 121. Best Time to Buy and Sell Stock 数组
查看>>
Jquery学习笔记-过滤选择器
查看>>
Android 一个apk多个ICON执行入口
查看>>
我的友情链接
查看>>
nginx安装
查看>>
一个backup exec 2012的真实故障案例,服务无法启动1068
查看>>
我的友情链接
查看>>
Linux基础
查看>>
hadoop+hive环境搭建(centos6.5)-01
查看>>
点到点子接口的帧中继配置
查看>>
计算机网络与Internet应用
查看>>
python md5
查看>>
强制转换与内存
查看>>