Android 使用webview加载网页是 希望使用的浏览器是火狐浏览器下载!求大神帮帮忙

2676人阅读
在Android中有WebView Widget,它内置了WebKit引擎,同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源的浏览器引擎,Chrome浏览器也是基于它的。所以很多表现WebView和Chrome是一样的。
&&&&&&&& 在使用WebView之前,要在AndroidManifest.xml中添加 如下权限:
&uses-permission android:name=&android.permission.INTERNET&&&/uses-permission&,否则会出Web page not available错误。
&&&& & &&1 . 加载网页:
&&&&&&&&& & & 网络用:webView.loadUrl(&&);
&&&&&&&&&&&&& 本地文件用:webView.loadUrl(file:///android_asset/XXX.html);这里的格式是固定的,文件位置 assets目录下
&&&&&&&& 2. 使用loadData方法来加载html数据
&&&&&&&&&&&&& loadData()需要三个参数: HTML TAG ,MIME类型(text/html), 网页编码方式(utf-8).
&&&&&&&&& 使用它时可能会发现有如下问题:
&&&&&&&&& I.& loadData不能加载图片内容,如果要加载图片内容或者获得更强大的Web支持请使用loadDataWithBaseURL。
& & & & & II .使用loadData方法显示乱码。那是因为编码器设置错误导致的。我们知道String类型的数据主要是unicode编码,而WebView一般为了节省资源使用的是UTF-8编码,所以我们在loadData的时候要告诉方法怎样转码。即要告诉它要将unicode编码的内容转成UTF-8编码的内容。有些朋友虽然在loadData的时候设置了编码方式,但是还是显示乱码,这是因为还需要为WebView的text编码指定编码方式.
WebView wv = (WebView)findViewById(R.id.webview) ;
String content = getUnicodeContent() ;
wv.getSettings().setDefaultTextEncodingName(“UTF -8”) ;
wv.loadData(content, “text/html”, “UTF-8”) ;
&WebView默认是不支持JavaScript 、IFrame或者是任何的框架语法的。通过设置webview.getSettings().setJavaScriptEnabled(true);& 就可以打开JavaScript.
&& & & && 3.& &setScrollBarStyle 设置滚动条风格
&&&&&& && webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);在内容显示内部显示
&&& & &&& 4.& ClearCache& 清除缓存内容
&&&&&&&&&&5.& goBcak canGoBack goForward canGoForward
&&&&&&&&& 6.& webView.stopLoading()停止加载页面
&& & &&& 7.& WebViewClient 和 WebChromeClient 区别
&&&&&&&& WebView主要负责解析渲染,WebViewClient 和WebChromeClient是用来辅助WebView。
&&&&&&&& 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 webV
&&&&&&&&& webView= (WebView) findViewById(R.id.webview);
&&&&&&&&& webView.setWebChromeClient(new WebChromeClient());
&&&&&&&&& webView.setWebViewClient(new WebViewClient());//.希望点击链接继续在当前browser中响应,必须覆盖 WebViewClient对象。
&&&&&&&&& webView.getSettings().setJavaScriptEnabled(true);
&&&&&&&&& webView.loadUrl(url);
&&&&&&&&& 这样你的WebView理论上就能有大部分需要实现的特色了。
& & & &webview.setWebChromeClient(new MyWebChromeClient());
webview.setWebViewClient(new WebViewClient()
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return super.shouldOverrideUrlLoading(view, url);
view.loadUrl(url);
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
mProgressDialog.show();
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
mProgressDialog.hide();
private class MyWebChromeClient extends WebChromeClient
public void onReceivedTitle(WebView view, String title) {
// TODO Auto-generated method stub
super.onReceivedTitle(view, title);
textview.setText(title);
&&8. & JS使用
&&&&&&&&& webview.addJavascriptInterface(new JavaScriptInterfaceDemo( this ), &JSInterfaceDemo&);
&&&&&&&&& //JSInterfaceDemo其实就是JavaScriptInterfaceDemo的别名,供HTML调用时使用
&&&&&&&& addJavascriptInterface(Object obj,String interfaceName)这个方法,该方法将一个java对象绑定到一个javascript对象中,javascript对象名就是 interfaceName,比如说JSInterfaceDemo,作用域是Global。这样初始化webview后,在webview加载的页面中就可以直接通过 javascript:window.JSInterfaceDemo访问到绑定的java对象了。在HTML中如何调用呢,&window.JSInterfaceDemo.getResposeCode()
& 其中getResposeCode需要在JavaScriptInterfaceDemo中实现
&&&&&&&& 需要注意的是:addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用 Handler的目的。
public class JavaScriptInterfaceDemo
public void getResposeCode(final String msg)
mHandler.post(new Runnable()
public void run() {
// TODO Auto-generated method stub
调用的地方
webview.addJavascriptInterface(new JavaScriptInterfaceDemo( this ), &JSInterfaceDemo&);
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:158516次
积分:2242
积分:2242
排名:第8750名
原创:50篇
转载:118篇
评论:35条
(7)(25)(4)(4)(11)(5)(1)(9)(6)(2)(2)(6)(1)(4)(8)(2)(6)(2)(1)(5)(4)(4)(1)(1)(1)(4)(1)(9)(2)(3)(3)(4)(1)(1)(2)(1)(1)(4)(1)(1)(2)(2)(1)(3)Android WebView使用 - 迁移到
@Android @Java @性能优化 @开源 - ITeye技术网站
博客分类:
本文主要对WebView进行介绍,包括webView 4个可以定制的点、设置WebView back键响应、控制网页的链接仍在webView中跳转、显示页面加载进度、处理https请求、利用addJavascriptInterface实现android程序和javascript交互等等
WebView基于webkit引擎展现web页面的控件,使用前需要在Android Manifest file中配置internet访问权限,否则提示页面无法访问
&uses-permission android:name="android.permission.INTERNET" /&
WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。
WebView有几个可以定制的点:
(1)设置子类,WebChromeClient会在一些影响浏览器ui交互动作发生时被调用,比如WebView关闭和隐藏、页面加载进展、js确认框和警告框、js加载前、js操作超时、webView获得焦点等等,详见
(2)设置子类,WebViewClient会在一些影响内容喧嚷的动作发生时被调用,比如表单的错误提交需要重新提交、页面开始加载及加载完成、资源加载中、接收到http认证需要处理、页面键盘响应、页面中的url打开处理等等,详见
(3)设置类,其中包含多项配置。WebSettings用来对WebView的配置进行配置和管理,比如是否可以进行文件操作、缓存的设置、页面是否支持放大和缩小、是否允许使用数据库api、字体及文字编码设置、是否允许js脚本运行、是否允许图片自动加载、是否允许数据及密码保存等等,详见
(4)设置方法,将java对象绑定到webView中,以方便从页面js中控制java对象,实现用本地java代码和html页面进行交互,甚至可以进行页面自动化。但如此做存在安全隐患,所以若设置了此方法,请确保webView的代码都是自己完成,详细使用addJavascriptInterface进行自动化见本文5使用addJavascriptInterface完成和js交互
1、back键控制网页后退
Activity默认的back键处理为结束当前Activity,webView查看了很多网页后,希望按back键返回上一次浏览的页面,这个时候我们就需要覆盖onKeyDown函数,告诉他如何处理,如下:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (webView.canGoBack() && event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
webView.goBack();
return super.onKeyDown(keyCode, event);
其中webView.canGoBack()在webView含有一个可后退的浏览记录时返回true
webView.goBack();表示返回webView的上次访问页面
2、当前网页的链接仍在webView中跳转
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
shouldOverrideUrlLoading表示当前webView中的一个新url需要加载时,给当前应用程序一个处理机会,如果没有重写此函数,webView请求ActivityManage选择合适的方式处理请求,就像弹出uc和互联网让用户选择浏览器一样。重写后return true表示让当前程序处理,return false表示让当前webView处理
Give the host application a chance to take over the control when a new url is about to be loaded in the current WebView. If WebViewClient is not provided, by default WebView will ask Activity Manager to choose the proper handler for the url. If WebViewClient is provided, return true means the host application handles the url, while return false means the current WebView handles the url.
问题分析:
今天在用webView load腾讯的OAuth页面
时,突然弹出选择uc还是互联网浏览器的确认框,很奇怪,其他页面都能正常load,而这个却无法在webView中load,后来用火狐看了下是因为load这个页面的时候会重定向到另外一个页面,而webView没有设置shouldOverrideUrlLoading,导致url交给了ActivityManage去处理,解释如上,后添加后可正常load页面
3、页面加载进度
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
setTitle("页面加载中,请稍候..." + progress + "%");
setProgress(progress * 100);
if (progress == 100) {
setTitle(R.string.app_name);
onProgressChanged通知应用程序当前页面加载的进度
progress表示当前页面加载的进度,为1至100的整数
4、处理https请求
webView默认是不处理https请求的,页面显示空白,需要进行如下设置:
webView.setWebViewClient(new WebViewClient() {
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
handler.cancel();
handler.handleMessage(null);
onReceivedSslError为webView处理ssl证书设置
其中handler.proceed();表示等待证书响应
handler.cancel();表示挂起连接,为默认方式
handler.handleMessage(null);可做其他处理
5、使用addJavascriptInterface完成和js交互
5.1 javascript中调用java对象及方法
设置webView的addJavascriptInterface方法,该方法有两个参数,第一个参数为被绑定到js中的类实例,第二个参数为在js中暴露的类别名,在js中引用java对象就是用这个名字
ClassBeBindedToJS classBeBindedToJS = new ClassBeBindedToJS();
webView.addJavascriptInterface(classBeBindedToJS, "classNameBeExposedInJs");
实现绑定到js的类,其中的javaMethod方法我们将在页面前端js中调用,用于返回一段内容。showHtml用来使用AlertDialog显示一段html代码,稍后将使用到
private class ClassBeBindedToJS{
public void showHtml(String html){
new AlertDialog.Builder(UpdateStatusActivity.this)
.setTitle("HTML").setMessage(html)
.setPositiveButton(android.R.string.ok, null)
.setCancelable(false).create().show();
public String javaMethod() {
return "use java method";
如此我们就可以在前端调用java对象,如下:
&div id="displayDiv"&Test page.&/div&
&input type="button" value="use java object" onclick="document.getElementById('displayDiv').innerHTML=classNameBeExposedInJs.javaMethod()" /&
这段html作用为点击button按钮,改变div内容为java对象方法中的内容,其中classNameBeExposedInJs为java对象在js中的别名,javaMethod为java对象的方法
5.2 java中调用js方法
用webView的loadUrl实现,比如现在我们想在页面加载完成后调用js中的hello函数,实现如下:
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView webView, String url){
webView.loadUrl("javascript:hello()");
怎么样,很简单吧^_^,直接loadUrl("javascript:hello()")就可以了
利用这一点我们可以很方便的实现WebView的自动化,如网页自动化登录。举个栗子,实现 的自动登录啊,代码如下
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("");
webView.requestFocus();
ClassBeBindedToJS classBeBindedToJS = new ClassBeBindedToJS();
webView.addJavascriptInterface(classBeBindedToJS, "classNameBeExposedInJs");
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView webView, String url){
webView.loadUrl("javascript:document.getElementsByName('email')[0].value='userName'");
webView.loadUrl("javascript:document.getElementsByName('password')[0].value='userPassword'");
webView.loadUrl("javascript:document.getElementsByName('login')[0].click()");
从中可以看出先加载页面,在页面加载完成onPageFinished后,调用js实现自动登录
其中三句js分别表示设置用户名文本框内容、设置用户密码文本框内容、点击登录按钮,如此登录成功喽
5.3 java和js混用实现一些效果
5.3.1 WebView用AlertDialog显示页面的html代码
之前5.1中的showHtml方法现在派上用场啦,在页面加载完成后显示页面html内容,如下:
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView webView, String url){
webView.loadUrl("javascript:window.classNameBeExposedInJs.showHtml(document.getElementsByTagName('html')[0].innerHTML);");
其中webView.loadUrl表示调用页面中的js,而页面中的js window.classNameBeExposedInJs.showHtml调用了程序中的java对象的方法,方法参数为一段js。
首先webView会执行这一段js document.getElementsByTagName('html')[0].innerHTML。含义即为取得页面中html标记的innerHTML,及网页主要内容;
然后将得到的网页内容当作字符串参数传入showHtml方法
最后调用showHtml函数实现,即用AlertDialog显示字符串,如此得到了整个网页的大部分html代码
5.3.2 WebView显示当前页面的url地址
获得WebView当前页面url使用webView.getUrl()即可,如下:
webView.loadUrl("javascript:window.classNameBeExposedInJs.showHtml('" + webView.getUrl() + "');");
Android 开发进阶:
浏览 21312
文章不错,要是能有些更高级点的就更好了。呵呵,也是刚学不久,就写了些用到的
浏览: 913518 次
来自: 杭州
不错,说的很全。学习了
中文加数字还是不行呀
多谢!!!!!!!!!!!!!!
这有些我开发过程遇到的最新问题及优化方案http://www. ...
lanxin_zxy_it 写道脑子里面有屎? 抄别人的干毛? ...lingdududu 的BLOG
用户名:lingdududu
文章数:216
评论数:181
访问量:1166842
注册日期:
阅读量:3698
阅读量:2849
阅读量:1494
51CTO推荐博文
&&& WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
& 互联网用:webView.loadUrl(&&);
& 本地文件用:webView.loadUrl(&file:///android_asset/XX.html&);&本地文件存放在:assets&文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
android:name=&android.permission.INTERNET&
package&com.android.webview. &&import&android.app.A &import&android.os.B &import&android.view.KeyE &import&android.webkit.WebV &&public&class&MainActivity&extends&Activity&{ &&&&&private&WebView& &&&&&@Override&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&&&&&&&&super.onCreate(savedInstanceState); &&&&&&&&&&&&&&&&&&webview&=&new&WebView(this); &&&&&&&&&&&&&&&&&&webview.getSettings().setJavaScriptEnabled(true); &&&&&&&&&&&&&&&&&&webview.loadUrl(&/&); &&&&&&&&&&&&&&&&&&setContentView(webview); &&&&&} &&&&& &&&&&@Override&&&&&&&&&&&&&&&public&boolean&onKeyDown(int&keyCode,&KeyEvent&event)&{ &&&&&&&&&if&((keyCode&==&KeyEvent.KEYCODE_BACK)&&&&webview.canGoBack())&{ &&&&&&&&&&&&&webview.goBack();&&&&&&&&&&&&&&return&true; &&&&&&&&&} &&&&&&&&&return&false; &}&
在AndroidManifest.xml文件中的17行添加权限
version=&1.0& encoding=&utf-8&
xmlns:android=&/apk/res/android&
package=&com.android.webview.activity&
android:versionCode=&1&
android:versionName=&1.0&
android:minSdkVersion=&10&
android:icon=&@drawable/icon& android:label=&@string/app_name&
android:name=&.MainActivity&
android:label=&@string/app_name&
android:name=&android.intent.action.MAIN&
android:name=&android.intent.category.LAUNCHER&
android:name=&android.permission.INTERNET&
第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置& WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
&uses-permission android:name=&android.permission.INTERNET&/&
&下面是具体的例子:
MainActivity.java
package&com.android.webview. &&import&android.app.A &import&android.os.B &import&android.view.KeyE &import&android.webkit.WebV &import&android.webkit.WebViewC &&public&class&MainActivity&extends&Activity&{ &&&&&private&WebView& &&&&&@Override&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&&&&&&&&super.onCreate(savedInstanceState); &&&&&&&&&setContentView(R.layout.main); &&&&&&&&&webview&=&(WebView)&findViewById(R.id.webview); &&&&&&&&&&&&&&&&&&webview.getSettings().setJavaScriptEnabled(true); &&&&&&&&&&&&&&&&&&webview.loadUrl(&/&); &&&&&&&&&&&&&&&&&&webview.setWebViewClient(new&HelloWebViewClient&()); &&&&&} &&&&& &&&&&@Override&&&&&&&&&&&&&&&public&boolean&onKeyDown(int&keyCode,&KeyEvent&event)&{ &&&&&&&&&if&((keyCode&==&KeyEvent.KEYCODE_BACK)&&&&webview.canGoBack())&{ &&&&&&&&&&&&&webview.goBack();&&&&&&&&&&&&&&return&true; &&&&&&&&&} &&&&&&&&&return&false; &&&&&} &&&&& &&&&&&&&&&private&class&HelloWebViewClient&extends&WebViewClient&{ &&&&&&&&&@Override&&&&&&&&&public&boolean&shouldOverrideUrlLoading(WebView&view,&String&url)&{ &&&&&&&&&&&&&view.loadUrl(url); &&&&&&&&&&&&&return&true; &&&&&&&&&} &&&&&} &}&
&version=&1.0&&encoding=&utf-8&&&xmlns:android=&/apk/res/android&&&&&&android:orientation=&vertical&&&&&&android:layout_width=&fill_parent&&&&&&android:layout_height=&fill_parent&&&&&&&& &&&&&& &&&&&&&&&android:id=&@+id/webview&&&&&&&&&&android:layout_width=&fill_parent&&&&&&&&&&android:layout_height=&fill_parent&&&&&&&&&&&&
在AndroidManifest.xml文件中的17行添加权限
&version=&1.0&&encoding=&utf-8&&&xmlns:android=&/apk/res/android&&&&&&&&package=&com.android.webview.activity&&&&&&&&android:versionCode=&1&&&&&&&&android:versionName=&1.0&&&&&&&android:minSdkVersion=&10&&&&&&&&&android:icon=&@drawable/icon&&android:label=&@string/app_name&&&&&&&&&&&android:name=&.MainActivity&&&&&&&&&&&&&&&&&&&&android:label=&@string/app_name&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&android:name=&android.intent.action.MAIN&&&&&&&&&&&&&&&&&&&&android:name=&android.intent.category.LAUNCHER&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&android:name=&android.permission.INTERNET&&&
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
本文收录至博客专题:《》
10:54:56 11:32:42 11:13:20 11:46:03 22:17:25 14:35:27 00:37:13 11:58:11Android中WebView的使用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Android中WebView的使用
A​n​d​r​o​i​d​中​W​e​b​V​i​e​w​的​使​用
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢Android控件WebView(浏览器)常用功能(图片、缩放)例子介绍
Android系统默认提供WebView控件()来在应用中内嵌网页,使其具有浏览器的功能。WebView提供了灵活的配置来让用户自定义相关功能。前面说了关于,下面在代码中对其他功能做详细描述:
package com.orgcent.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.LayoutAlgorithm;
public class AndroidWebViewActivity extends Activity {
& & @Override
& & public void onCreate(Bundle savedInstanceState) {
& & & & super.onCreate(savedInstanceState);
& & & & setContentView(R.layout.main);
& & & & WebView content_wv = (WebView) findViewById(R.id.content_wv);
& & & & WebSettings ws = content_wv.getSettings();
& & & & ws.setJavaScriptEnabled(true); // 设置支持javascript脚本
& & & & ws.setAllowFileAccess(true); // 允许访问文件
& & & & ws.setBuiltInZoomControls(true); // 设置显示缩放按钮
& & & & ws.setSupportZoom(true); //支持缩放
& & & & /**
& & & & &* 用WebView显示图片,可使用这个参数
& & & & &* 设置网页布局类型:
& & & & &* 1、LayoutAlgorithm.NARROW_COLUMNS : 适应内容大小
& & & & &* 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放
& & & & &*/
& & & & ws.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
& & & & ws.setDefaultTextEncodingName(&utf-8&); //设置文本编码
& & & & ws.setAppCacheEnabled(true);
& & & & ws.setCacheMode(WebSettings.LOAD_DEFAULT);//设置缓存模式
& & & & //添加Javascript调用java对象
& & & & content_wv.addJavascriptInterface(this, &java2js&);
& & & & content_wv.setWebViewClient(new WebViewClientDemo());
& & & & content_wv.setWebChromeClient(new WebViewChromeClientDemo());
& & & & //设置打开的网页
& & & & content_wv.loadUrl(&&);
& & & & //使用WebView来显示图片
& & & & content_wv.loadData(&&img src=''/&&, &text/html&, &utf8&);
& & }
& & private class WebViewClientDemo extends WebViewClient {
& & & & @Override
& & & & public boolean shouldOverrideUrlLoading(WebView view, String url) {
& & & & & & view.loadUrl(url);// 当打开新链接时,使用当前的 WebView,不会使用系统其他浏览器
& & & & & & return true;
& & & & }
& & }
& & private class WebViewChromeClientDemo extends WebChromeClient {
& & & & // 设置网页加载的进度条
& & & & public void onProgressChanged(WebView view, int newProgress) {
& & & & }
& & & & // 获取网页的标题
& & & & public void onReceivedTitle(WebView view, String title) {
& & & & }
& & & & // JavaScript弹出框
& & & & @Override
& & & & public boolean onJsAlert(WebView view, String url, String message,
& & & & & & & & JsResult result) {
& & & & & & return super.onJsAlert(view, url, message, result);
& & & & }
& & & & // JavaScript输入框
& & & & @Override
& & & & public boolean onJsPrompt(WebView view, String url, String message,
& & & & & & & & String defaultValue, JsPromptResult result) {
& & & & & & return super.onJsPrompt(view, url, message, defaultValue, result);
& & & & }
& & & & // JavaScript确认框
& & & & @Override
& & & & public boolean onJsConfirm(WebView view, String url, String message,
& & & & & & & & JsResult result) {
& & & & & & return super.onJsConfirm(view, url, message, result);
& & & & }
& & }
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志
日志总数:122 篇
评论总数: 篇
标签数量:256 个
链接总数:3 个
建站日期:
运行天数:3035 天
最后更新:}

我要回帖

更多关于 火狐浏览器翻墙 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信