Android中webview的使用
来源:互联网 发布:进口儿童安全座椅知乎 编辑:程序博客网 时间:2024/06/08 23:49
1、webview的几点设置
权限设置:.AndroidManifest.xml中必须使用许可"Android.permission.INTERNET",否则会出Web page not available错误
js开放设置: 如果访问的页面中有JavaScript,则webview必须设置支持Javascript。webview.getSettings().setJavaScriptEnabled(true); 否则,页面的js将不会起作用.
滚动条设置:this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
设置缓存模式:setCacheMode
2、事件监听对象(WebViewClient)
事件监听对象WebViewClient中,主要有如下几个常用方法:
shouldOverrideUrlLoading:在web页面里单击链接的时候,会自动调用android自带的浏览器来打开链接,需要通过该方法在本页面打开;
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url);
returntrue;
}
onLoadResource:加载资源时响应
onPageStart:在加载页面时响应
onPageFinish:在加载页面结束时响应
onReceiveError:在加载出错时响应
onReceivedHttpAuthRequest:
3、返回处理
如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
4、支持javascripte自定义对象
可以通过addJavascriptInterface()方法,添加js自定义对象,使用web页面与手机Java程序能够进行通信交互。
5、DownloadListener接口
该接口里面有一个方法,onDownloadStart()下载侦听接口,如果客户代码实现该接口,则在下载开始、失败、挂起、完成等情况下,DownloadManagerCore对象会调用客户代码中实现的DownloadListener方法。
6、几个注意点
1)为了让WebView从apk文件中加载assets,Android SDK提供了一个schema,前缀为"file:///android_asset/"。WebView遇到这样的schema,就去当前包中的 assets目录中找内容。如上面的"file:///android_asset/demo.html"
2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用 Handler的目的(今天我是在没有在handler中处理,所以导致webviewclient中的onPageStart方法与addJavascriptInterface中的方法起了冲突,二个人的执行顺序时常互换,之后改成handlder实现,就解决其中的问题,正确的顺序是onPageStart在addJavascriptInterface中的handlder事件处理之前执行)。
- Android中webview的使用
- android 中webView的使用
- Android中webview的使用
- Android中WebView的使用
- Android 中WebView的使用
- Android中webview的使用
- Android中WebView的使用
- android中webview的使用
- android中WebView 的使用
- Android中webview的使用
- Android中 "WebView"的使用
- Android中WebView的使用
- Android中WebView的使用
- Android中WebView的使用
- Android中webview的使用
- Android中WebView的使用
- Android中webView的使用
- Android中WebView的使用
- 从这个类关系图中你可以看出什么?
- springBoot02 之json返回
- 解决Fragment相关问题,java-lang-illegalstateexception-activity-has-been-destroyed
- python3的input问题
- WinCE中命令行工具cvrtbin简介
- Android中webview的使用
- springMVC笔记系列(5)——@RequestMapping请求value的通配符详解
- 有向图边的分类
- hls协议(最清晰的讲解)
- 前言&绪论
- Longest Consecutive Sequence
- Retrofit2.0
- 利用Android Studio、MAT对Android进行内存泄漏检测
- php 将数组结果作为返回值保存到php文件中