一、Android之WebViewClient与WebChromeClient的区别ANDROID应用开发的时候可能会用到WEBVIEW这个组件,使用过程中可能会接触到WEBVIEWCLIENT与WEBCHROMECLIENT,那么这两个类到底有什么不同呢?
WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等比如onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
看上去他们有很多不同,实际使用的话,如果你的WebView只是用来处理一些html的页面内容,只用WebViewClient就行了,如果需要更丰富的处理效果,比如JS、进度条等,就要用到WebChromeClient。
更多的时候,你可以这样WebView webView;
webView= (WebView) findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
这样你的WebView理论上就能有大部分需要实现的特色了
当然,有些更精彩的内容还是需要你自己添加的二、WebViewClient的方法说明1、public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url);return true;}在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。
2、public void onReceivedSslError(WebView view, SslErrorHandler handler, android.net.http.SslError error) {
handler.proceed();
}
重写此方法可以让webview处理https请求。
3、public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {return super.shouldOverrideKeyEvent(view, event);}}
重写此方法才能够处理在浏览器中的按键事件。
4、 public void onLoadResource(WebView view, String url) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onLoadResource ");}super.onLoadResource(view, url);}
在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。
5、 public void onPageStarted(WebView view, String url, Bitmap favicon) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onPageStarted ");}if (url.endsWith(".apk")) {download(url);//下载处理
             }super.onPageStarted(view, url, favicon);}
在页面加载开始时调用。
6、public void onPageFinished(WebView view, String url) {// TODO Auto-generated method stubif (DEBUG) {Log.d(TAG, " onPageFinished ");}super.onPageFinished(view, url);}
在页面加载结束时调用。

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5562971.html,如需转载请自行联系原作者

android WebViewClient和WebChromeClient相关推荐

  1. android webviewclient 点击事件,Android Api WebViewClient 详细解析

    设计思想理解 在WebView的设计中,不是什么事都要WebView类干的,有相当多的杂事是分给其他类做的,这样WebView专心干好自己的解析.渲染工作就行了.比如我们最熟知的,所有针对WebVie ...

  2. Android中使用WebChromeClient显示Openlayers加载本地GeoJson文件显示地图(跨域问题解决)

    场景 Openlayers中加载GeoJson文件显示地图: Openlayers中加载GeoJson文件显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面加载显示GeoJso ...

  3. Android开发-WebView/WebViewClient/WebChromeClient简介 API详述 【一】

    老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...

  4. android从放弃到精通 第六天 excellent

    今天有是美好和十分充实的一天,很多时候都这么感觉,哈哈哈,那么游戏开始了= = 看了这门课程我越来越搞不懂是什么时候要用handler兄弟进行操作了= =,网站的get和post请求用不到吗...真的 ...

  5. android线程间通信的几种方法_Android 技能图谱学习路线

    Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashC ...

  6. Android中使用WebView加载本地html并支持运行JS代码和支持缩放

    场景 Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/art ...

  7. android WebView详解,常见漏洞详解和安全源码(下)

    上篇博客主要分析了 WebView 的详细使用,这篇来分析 WebView 的常见漏洞和使用的坑.  上篇:android WebView详解,常见漏洞详解和安全源码(上)  转载请注明出处:http ...

  8. android WebView详解,常见漏洞详解和安全源码(上)

    这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.  由于博客内容长度,这次将分为上下两篇,上篇详解 WebView ...

  9. Android 网络编程系列(3)WebView 详解

    前言 在上一篇关于WebView的文章中,介绍了 WebView 的基本使用方法.WebView 页面处理和历史记录以及和 JS 调用本地代码的相关内容.今天就在上一篇文章的基础上,补充一些 WebV ...

最新文章

  1. Linux编译lclntsh,Linux下编译C/C++时,出现/usr/bin/ld: cannot find -l*** 错误的处理
  2. java初学者笔记总结day9
  3. SCOM Logical Disk Free Space Monitor
  4. 行为类模式(八):状态(State)
  5. 用户手撕锤子产品总监引10万人围观,竟还拿到了Offer
  6. ALV字段编辑时,输入长度受限制解决方法
  7. MAX3222/MAX3232/ MAX3237/MAX3241/串口通信中文_技术文档
  8. 终于记住回车和换行cr lf的来由和含义了 -参考: http://www.cnblogs.com/me115/archive/2011/04/27/2030762.html...
  9. Robotframework--随机选取下拉框的字段值进行搜索
  10. 机器学习--决策树(熵、信息增益(ID3)、C4.5、多方式源码实战)
  11. PAT乙级真题 | 1006 换个格式输出整数
  12. Python 列表(List) 的三种遍历(序号和值)方法
  13. 下载mysql驱动jar包教程
  14. java系统_Java 系统
  15. 数据结构---基础知识必备
  16. Lisa随手记 1.7 发布
  17. 21.管理多环境下的application.conf
  18. 洛谷P1024 [NOIP2001 提高组] 一元三次方程求解 C++ 思路加代码
  19. 判断tvs能抗住多少千伏浪涌的依据_TVS管主要参数说明及作用
  20. 【微服务】Nacos通知客户端服务变更以及重试机制

热门文章

  1. Django中urls参数传递
  2. pycharm出现KeyError:“Couldn't find filed google.ptotobuf.FileOption.javanano_use_deprecated_package”
  3. 有了这些接口测试用例+工具,测试效率想不提升都难
  4. 你该怎么去学软件测试,过来人告诉你
  5. 实战丨基于接口的银行系统自动化测试实践
  6. 96KB存储器的怎么算地址范围_STM32入门系列-存储器与寄存器介绍
  7. iphone已停用怎么解锁_iPhone多次输错密码已停用,连接iTunes,怎么办?
  8. linux系统清理内存,如何清除linux的内存缓存,缓冲和交换空间
  9. Projective Dynamics: Fusing Constraint Projections for Fast Simulation
  10. PDE8 wave equation: derivation