WebView详解

Android 8.0(Android O) 开启硬件加速 WebView 截取Bitmap 以上方法可在Android 8.0 系统上,webView开启硬件加速的场景下截取bitmap。使用上面代码截取webView时,如果不关闭硬件加速,截取的bitmap是空白的。记录一下这个小问题,希望对大家有所帮助。 阅读详情

在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件

WebView
在开发过程中应该注意几点:
   
1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Webpage not available错误。
   
2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。

    WebSettings webSetting = webview.getSettings();
        webSetting.setJavaScriptEnabled(true); 

   
3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖webview的WebViewClient对象。

 

1        mWebView.setWebViewClient(new WebViewClient(){      

2                publicboolean shouldOverrideUrlLoading(WebView view, String url) {      

3                                view.loadUrl(url);      

4                                returntrue;      

5                }      

6        });  

 4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。

7        publicboolean onKeyDown(int keyCode, KeyEventevent) {      

8                if((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {      

9                    mWebView.goBack();      

10                        returntrue;      

11             }      

12             returnsuper.onKeyDown(keyCode,event);      

13         }

 5.如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。

webview.requestFocusFromTouch();

 6.WebView 加载界面主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL.
1、LoadUrl            直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif)
2、LoadData           显示文字与图片内容(模拟器1.5、1.6)
3、LoadDataWithBase  显示文字与图片内容(支持多个模拟器版本)

 

WebSettings的常用方法介绍

14        setJavaScriptEnabled(true);

          //支持js脚步

15        setPluginsEnabled(true);

          //支持插件

16        setUseWideViewPort(false);

         //将图片调整到适合webview的大小

17        setSupportZoom(true);

         //支持缩放

18        setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

            //支持内容从新布局

19        supportMultipleWindows();

        //多窗口

20        setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

        //关闭webview中缓存

21        setAllowFileAccess(true);

        //设置可以访问文件

22        setNeedInitialFocus(true);

        //当webview调用requestFocus时为webview设置节点
   
 webSettings.setBuiltInZoomControls(true);

        //设置支持缩放

23        setJavaScriptCanOpenWindowsAutomatically(true);

           //支持通过JS打开新窗口

24        setLoadsImagesAutomatically(true);

           //支持自动加载图片

WebViewClient的方法全解

25     doUpdateVisitedHistory(WebViewview, Stringurl, boolean isReload)

         (更新历史记录)

26     onFormResubmission(WebViewview, MessagedontResend, Messageresend)

         (应用程序重新请求网页数据)

27     onLoadResource(WebViewview, Stringurl)

            在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。

28     onPageStarted(WebViewview, Stringurl, Bitmapfavicon)

           这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告

        诉用户程序在等待网络响应。

29     onPageFinished(WebViewview, Stringurl)

           在页面加载结束时调用。同样道理,我们知道一个页面载入完成,于是我们可以关

       闭loading 条,切换程序动作。

30     onReceivedError(WebViewview, int errorCode, Stringdescription, StringfailingUrl)

       (报告错误信息)

31     onReceivedHttpAuthRequest(WebViewview, HttpAuthHandlerhandler, Stringhost,

       Stringrealm)(获取返回信息授权请求)

32     onReceivedSslError(WebViewview, SslErrorHandlerhandler, SslErrorerror)

       重写此方法可以让webview处理https请求。

33     onScaleChanged(WebViewview, float oldScale, float newScale)

        (WebView发生改变时调用)

34     onUnhandledKeyEvent(WebViewview, KeyEventevent)

      (Key事件未被加载时调用)

35     shouldOverrideKeyEvent(WebViewview, KeyEventevent)

       重写此方法才能够处理在浏览器中的按键事件。

36     shouldOverrideUrlLoading(WebViewview, Stringurl)

        在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。


Android Webview 详解 一个基于webkit引擎、展现web页面的控件Android 4.4前:Android Webview在低版本 & 高版本采用了不同的webkit版本的内核Android 4.4后:直接使用了Chrome内核Android去调用JS的代码JS去调用Android的代码二者沟通的桥梁是WebView通过WebView的loadUrl()通过WebView的evaluateJavascript()通过WebView的addJavascriptInterface()进行对象映射。 阅读详情

相关推荐

告别CAPL编程!用Matlab/Simulink+CANoe实现复杂ECU仿真的5个技巧

本文介绍了如何利用Matlab/Simulink与CANoe进行联合仿真,以替代复杂的CAPL编程,高效实现复杂ECU仿真。文章分享了5个核心技巧,涵盖信号映射、模型编译集成、实时参数调整、性能优化及数据分析,帮助算法工程师构建稳定强大的仿真环境,显著提升开发与测试效率。

rgv234567的博客 296

浅谈WebView的使用

转自:http://blog.youkuaiyun.com/liuhe688/article/details/6549263 WebView是Android中一个非常实用的组件,它和Safai、Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面。使用WebView开发软件有一下几个优点: 1.可以打开远程URL页面,也可以加载本地HTML数据;

Rachel_McAdams的专栏 603

自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)

世界顶级自建邮局服务器PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮寄。可按每小时发送数近百万条电子邮件,发送IP地址和域可以详细配置,加上目前流行前端oem,mumara,mailwizz, interspire等,可定时发送,定时重复发送,实现全自动化 邮件群发 方案。 官网(powermta4.5下载) https://www.sparkpost.com/powermta/ 使用Po

ytrsexpo的博客 6504

HBuilder webapp创建带有前进后退刷新的内置浏览器

创建带有前进后退刷新的内置浏览器 在webapp中打开普通的打开一个网页是没有工具栏的 //普通的打开网页 mui.openWindow({ id: 'QINDON.html', url: 'jian/QINDON.html', styles: { popGesture: "none" }, show: { aniShow: 'none' }, waiting: { ...

丘秋的博客 2461

从AMBA到USB:手把手教你评估和选择Synopsys DesignWare里的免费商用IP

本文详细介绍了如何评估和选择Synopsys DesignWare中的免费商用IP,从AMBA到USB等关键模块。通过技术参数核对、验证环境评估和集成注意事项,帮助工程师高效利用这些经过硅验证的商业级IP,提升SoC设计效率。文章还探讨了免费IP与付费IP的边界策略,避免常见陷阱。

weixin_42683394的博客 297

STM32进入HardFault_Handler时,如何找到问题所在?

当STM32进入HardFault_Handler时,定位问题发生的点

m0_60831979的博客 2151

安卓webview的详细使用详情,webview和js交互

最近用到了webview这个控件,在此和大家分享一下: Webview(网络视图) 主要是在APP中嵌套网页的一个控件,不使用手机中下载的浏览器去访问网页,而是通过手机自带的系统浏览器去访问一个url,通俗一旦说就是个浏览器。 WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。 1、第一步,访问网络必须在清

qq_31364143的博客 1687

Unity FPS射击控制系统:数据驱动的武器行为解耦方案

在Unity第一人称射击(FPS)开发中,射击系统常因输入、状态、行为耦合导致连发异常、换弹冲突与网络同步失准。其本质是缺乏对‘武器行为’(如后坐力曲线、弹药逻辑)与‘射击控制’(如输入合法性校验、冷却调度)的正交分离。本方案基于ScriptableObject实现WeaponData数据资产化,配合ShootingController状态机服务,达成输入解耦、运行时参数可调、协程受控、网络预测友好等工程目标。适用于中大型FPS项目架构升级与数据驱动转型,尤其解决Unity InputSystem与物理反馈

weixin_30536861的博客 610

webview使用详解(一)

问题背景 安卓日常开发和学习过程中,经常会使用到webview来加载网页,比如前两天过来了这样一个需求:拦截某一个链接不执行此链接,执行指定跳转到其他activity页面。这就要求我们对webview加载的URL进行判断,如果是属于需要屏蔽的URL,我们就进行拦截,并且执行相应的操作。那么首先,我们来熟悉下webview的...

baorant24的博客 3655

SAP Fiori 从技术上而言到底包含哪些组件?

SAP Fiori是企业级UX设计的系统化解决方案,基于五大原则构建:角色导向(Role-based)、自适应(Adaptive)、简洁(Simple)、一致(Coherent)和愉悦(Delightful)。其技术实现包含SAPUI5开发框架、Fiori Launchpad统一入口、OData服务网关等核心组件,通过标准化设计模式与开发工具链,显著提升企业应用的用户体验和开发效率。典型案例显示,遵循Fiori原则可缩短30%以上的操作时长,降低50%的培训成本。该体系既保持跨设备一致性,又支持业务场景的深

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 223

(王道计算机组成原理笔记)第一章计算机系统概述-第二节:计算机系统层次结构 1(计算机系统组成、计算机硬件)

文章目录一:冯诺依曼体系结构(1)存储程序计算机(2)层次结构二:计算机硬件概述(1)存储器A:存储元、存储单元、存储体、存储字和存储字长B:MAR 一:冯诺依曼体系结构 在冯诺依曼体系结构中,计算机的硬件主要有**存储器,运算器,控制器,输入和输出设备(也叫做I/O设备)**组成。 (1)存储程序计算机 冯诺依曼体系结构也叫做存储程序计算机,计算器和计算机的唯一区别就是计算器是不能编程的,只能做电路板中设定好的固定的运算。 这也就意味着计算器本质就是一个不能编程的计算机,其在硬件层面已经将逻辑写死,如果

快乐江湖的博客 1万+

Android开发:最全面、最易懂的Webview详解

点击跳转到大牛总结的webView详解界面

kylin0628的博客 609

AD快速上手笔记

本文详细介绍了使用Altium Designer从零创建PCB项目全流程:新建工程、绘制原理图(元件放置、连线、电源端口)、编译检查、生成PCB、布局布线(含铺铜)、DRC检查及输出Gerber与钻孔文件。重点强调了库选择、参数修改、层切换、铺铜设置和生产文件导出规范,确保设计无误,便于顺利下单生产。

qq_53529450的博客 42

Android WebView 开发详解(一)

详细介绍Android WebView开发,介绍WebView开发各个注意事项及其解决方法。

typename 记录点滴 13万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android WebView 开发详解(二)

分享Android WebView 开发实战经验,WebView的各种主要的回调说明,详解回调的含义和用途,以及应用程序需要如何响应这些操作。

typename 记录点滴 7万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android中webview详解,Android:WebView全面详解

mWebView.getSettings().setSupportZoom(false);设置是否支持缩放,我这里为false,默认为true。mWebView.getSettings().setBuiltInZoomControls(false);设置是否显示缩放工具,默认为false。mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorit...

weixin_42099087的博客 2827

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android Webview 开发详解

Android WebView在Android平台上是一个特殊的View, 他能用来显示网页,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索,前端开发者可以使用web inspector(Android 4.4系统支持,4.4一下可以采用http://developer

Happy丶至上! 802

AndroidStudio之WebView详解

WebView 简介: WebView是一个基于webkit引擎、展现web页面的控件。 Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。 作用: 1、 显示和渲染Web页面 2、 直接使用html文件(网络上或本地assets中)作布局 3、 可和JavaScript交互调用 使用介绍: 一般来说Webview可单独使用,可联合其子类一起使用: 1、 Webview自身的常见方法; 2、 Webview的最常用的子类(WebSetting

qq_45482477的博客 4847

webView开发问题详解

转载请注明出处 https://blog.youkuaiyun.com/typename/article/details/39495409 powered by meichal zhao概览:Android WebView 做为承载网页的载体控件,他在网页显示的过程中会产生一些事件,并回调给我们的应用程序,以便我们在网页加载过程中做应用程序想处理的事情。比如说客户端需要显示网页加载的进度、网页加载发生错误等等...

u011228868的专栏 311

android webview详解,Android webview详解

1.1.打开网页时不调用系统浏览器,而是在本WebView中显示:[代码]java代码:mWebView.setWebViewClient(new WebViewClient(){@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}});...

weixin_36374366的博客 568

webview详解

1: https://www.jianshu.com/p/3a345d27cd42 2:https://www.jianshu.com/p/345f4d8a5cfa 3:https://www.jianshu.com/p/3c94ae673e2a/ 4:https://www.jianshu.com/p/1b8779401db7 5:https://www.jianshu.com/p/a6...

qqmuhua123的专栏 377
上一篇: Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
下一篇: android 点击跳转到你要展示的网页
kerwin612
博客等级 码龄14年 28粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值