



android系统webview最新版本为你送上,专为谷歌浏览器量身定制的修复工具,有了这款app即可一站式解决你的诸多问题,让你更好的运行和使用谷歌浏览器,可以轻松修复浏览器使用过程中的报错问题。
1.WebView 基本使用
1.1 基本使用
在 Android 应用开发中会经常要嵌套H5来进行混合式开发,WebView是不可或缺的容器。
使用 WebView 加载一个网页很容易
在AndroidManifest.xml中添加网络权限
<uses-permission android:name="android.permission.INTERNET"/>
在布局中添加WebView
<WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" />
在Activity或Fragment中获取控件
WebView mWebview = findViewById(R.id.webView);// 也可以通过 new 的形式创建 WebView
加载目标地址
webView.loadUrl("https://developer.android.google.cn/");
so easy~
WebView有很丰富的功能,继续学习
1.2 加载页面
//加载一个远程网页webView.loadUrl("https://developer.android.google.cn/");// 加载assets中资源webView.loadUrl("file:///android_asset/test.html");//加载sdcard中子源webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html");
使用loadUrl,不过需要注意,这里因为是使用本地数据,所以传入的url需要做些处理,例如:
a 如果html文件存于assets:则加前缀:file:///android_asset/
b 如果html文件存于sdcard:则加前缀:content://com.android.htmlfileprovider/sdcard/
注意:content 前缀可能导致异常,也可使用file:///sdcard/ 或者 file:/sdcard 做前缀。
2. 加载设置
2.1 页面自适应屏幕
settings.setUseWideViewPort(true); // 将图片调整到适合webview的大小settings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
2.2 缩放
settings.setSupportZoom(true);//启用缩放功能settings.setBuiltInZoomControls(true);//使用WebView内置的缩放功能settings.setDisplayZoomControls(false);//隐藏屏幕中的虚拟缩放按钮
2.3 个性化设置
settings.setTextZoom(100);//字体百分比,替代原API:setTextSize
安卓端上可能因为设置了系统字体大小导致 h5 页面布局异常:
该方法可设置 webview 内部字体的缩放比例。而字体单位是 px,它其实设置的是 px 的缩放比例。通过强制设置为100%,来使得用户的外部设置无法内部 webview 的字体大小呈现。
settings.setMediaPlaybackRequiresUserGesture(false);//SDK>18 是否支持手势控制网页媒体,比如视频的全屏
String ua = webview.getSettings().getUserAgentString();webview.getSettings().setUserAgentString(ua+"; 自定义标记");
有时和H5交互的时候,H5需要一些设备信息,可以通过自定义 agent 处理,里面本身也包含一些内置浏览内核的信息
Mozilla/5.0 (Linux; Android 6.0; HTC D10w Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.106 Mobile Safari/537.36
2.4 Https 加载 Http 混合模式
当 WebView 加载 https 的地址中有 http 的地址时(比如 https 地址含有 http 的图片) WebView 无法加载 http 的资源
原因是 Android 5.0 (Lollipop)开始,WebView 默认不支持同时加载 Https 和 Http 混合模式。此时可以通过setMixedContentMode()方法设置混合模式
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);}
MIXED_CONTENT_NEVER_ALLOW:(Android 5.0 以上默认值)
Webview不允许一个安全的站点(https)去加载非安全的站点内容(http),比如,https网页内容的图片是 http 链接。强烈建议App使用这种模式,因为这样更安全。
MIXED_CONTENT_ALWAYS_ALLOW:(Android 5.0 以下默认值)
在这种模式下,WebView是可以在一个安全的站点(Https)里加载非安全的站点内容(Http),这是WebView最不安全的操作模式,尽可能地不要使用这种模式。
MIXED_CONTENT_COMPATIBILITY_MODE:
在这种模式下,当涉及到混合式内容时,WebView会尝试去兼容最新Web浏览器的风格。一些不安全的内容(Http)能被加载到一个安全的站点上(Https),而其他类型的内容将会被阻塞。这些内容的类型是被允许加载还是被阻塞可能会随着版本的不同而改变,并没有明确的定义。这种模式主要用于在App里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。
参考:Android5.0 WebView中Http和Https混合问题
3. 页面监听与拦截
3.1 WebViewClient
帮助 WebView 处理各种通知、请求事件、记录页面加载过程的。其中就包括URL地址,我们可以通过它来监控到地址的调用过程
// 设置 WebViewClientmWebView.setWebViewClient(mWebViewClient);
shouldOverrideUrlLoading
用户可选择是否拦截加载 URL
如果返回值为 true,拦截 WebView 加载 url,false 允许 WebView 加载 url
If a WebViewClient is provided, returning true causes the current WebView to abort loading the URL, while returning false causes the WebView to continue loading the URL as usual.
boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)boolean shouldOverrideUrlLoading(WebView view, String url) (API>21)
可以在这个方法里做什么呢,比如点击到已经定义好的 url 协议 电话号码tel://时,那么可以在这里做拦截,跳转到系统拨号界面。
@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("tel:")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } super.shouldOverrideUrlLoading(view, url);}
所以在实际项目中,可以在这里处理自定义的一些跳转协议。
onPageStarted() 开始载入页面调用
开始载入页面调用的,我们可以设定一个 loading 的页面,告诉用户程序在等待网络响应。
onPageFinished() 页面加载结束时调用。
页面加载结束时调用 onPageFinished()
用户评论
最新更新
币an交易所官方正版appv3.6.6
金融理财 / 276.9M / 11-27
币按交易所app官方下载v3.6.6
金融理财 / 276.9M / 11-27
悠悠有品手机版下载v5.39.3
娱乐软件 / 129.1M / 11-27
美团app下载2025版本v12.47.416
生活工具 / 86.6M / 11-27
羊驼PTE手机版v12.1.0
学习教育 / 97.0M / 11-27
去哪儿旅行app下载安装v10.4.8
地图导航 / 84.9M / 11-27
今日快看官方版下载最新版本v3.19
新闻资讯 / 36.3M / 11-27
aio launcher 最新版v6.0.0
美化主题 / 40.3M / 11-27
深圳航空官方安卓版v7.0.0
生活工具 / 301.0M / 11-27
全能清理大师app安卓版v1.8.1极速版
系统工具 / 54.6M / 11-27
本类排行
deepseek智能助手下载v1.5.4
娱乐软件 / 12.4M / 11-26
抖音国际版海外版下载(TikTok)v42.7.2
视频软件 / 448.9M / 11-27
豆包人工智能下载v11.2.0_11020040
娱乐软件 / 130.5M / 11-26
豚豚剧2025最新版本下载v1.0.1.9
视频软件 / 69.7M / 10-09
囧次元app正版下载免费版v1.5.8.0
图书杂志 / 70.9M / 08-07
囧次元无广告版下载安装最新版2025v1.5.8.0
图书杂志 / 36.5M / 09-22
omofun最新版免费app下载v1.1.52
视频软件 / 131.7M / 11-24
动漫共和国app免费下载最新版v1.0.0.7
图书杂志 / 70.7M / 09-01
追番达人软件下载v3.9.8
视频软件 / 43.9M / 10-16
猪猪软件库app免费下载安装v3.0
娱乐软件 / 6.3M / 10-31
热门推荐
夸克app官方正版下载最新版本v10.1.0.971
taptap免费下载最新版本v2.90.0-rel#100100
vivo游戏中心app最新版本2026v7.1.50.3
微信app下载安装官方版2026v8.0.66_28004230
番茄免费小说下载安装app安卓版v6.9.9.19
weverse安卓下载最新版本v3.9.2
qq音乐app官方下载最新版本v14.11.0.8
抖音国际版海外版下载(TikTok)v42.7.2