android WebView交互优化
安卓的WebView一般是嵌套在activity或者fragment中的,但是如果在这种activity页面上点击返回按钮,一般会finish掉当前activity.其实是应该关闭当前的WebView的界面,回到前一个连接的地址.一般我们使用一下的方法来实现.
if(webView.canGoback()){//在这里如果无法再往回后退的话,那么就会返回false,那么就可以执行自己的逻辑代码了.
webView.goBack();
}
接下来是Webview界面的一些常用的配置:
mainWebView.getSettings().setJavaScriptEnabled(true);
mainWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mainWebView.getSettings().setAppCacheEnabled(false);
mainWebView.getSettings().setSupportZoom(true);
mainWebView.getSettings().setSaveFormData(false);
mainWebView.getSettings().setDomStorageEnabled(true);
mainWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mainWebView.getSettings().setUseWideViewPort(false);
mainWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("billPaySuccess.jsp")){
Intent intent = new Intent();
intent.setClass(getApplicationContext(), OrderPaySucActivity.class);
intent.putExtra("orderPayBean", orderPayBean);
startActivity(intent);
finish();
}else
mainWebView.loadUrl(url);
return true;
}
});
mainWebView.loadUrl(webUrlsl);
下面是对返回按钮的监听事件:
public boolean onKeyDown(int keyCode, KeyEvent keyEvent){
if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) {
if (goBackView != null) {
goBackView.performClick();
} else
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
当按下返回键时,如果当前页面存在返回按钮那么相当于点击了返回按钮,如果没有返回按钮的话则finish掉当前页面.这样只在返回按钮的监听器中完成逻辑就可以了.
补充:
1.在网上看到网友有介绍下面这个东西的,没测试过怎么样
关于webview的加载栈,后来发现webview本身也有对应的API
//获取历史
WebBackForwardList mWebBackForwardList = webView.copyBackForwardList();
2.该网友的另外一篇关于webview的使用的文章写得不错,可以看看哦
http://blog.csdn.net/t12x3456/article/details/13769731
Android WebView Touch事件及相关问题处理
http://blog.csdn.net/t12x3456/article/details/17565171
android WebView交互优化的更多相关文章
- js与android webview交互
0x01 js调用java代码 android webview中支持通过添加js接口 webview.addJavascriptInterface(new JsInteration(), " ...
- android 从 phonegap 到 js webview 交互
像生活类.办公协同类. 动态添加,下载等. 1.phonegap 我这里用了旧的版本,可能新版本变化大了. 创建asset资源文件夹,然后新建index.html copy 相应的js 文件进来. 创 ...
- android webview开发问题及优化汇总
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题.就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来.有些是老生常谈,有些则是个人摸索得出解决方 ...
- android webview js交互 第一节 (java和js交互)
转载请注明出处 挺帅的移动开发专栏 http://blog.csdn.net/wangtingshuai/article/details/8631835 在androi ...
- android网络交互之DNS优化知识整理
android网络交互之DNS优化知识整理 之前的工作中,经常会遇到DNS解析出问题导致网络交互的操作无法正常进行. UnknownHostException 在很多的移动开发过程中,与服务端的交互的 ...
- [android] WebView与Js交互
获取WebView对象 调用WebView对象的getSettings()方法,获取WebSettings对象 调用WebSettings对象的setJavaScriptEnabled()方法,设置j ...
- Android WebView页面加载优化
目前webapp越来越多,体验也越来越好,为了能够更好的使用WebView展示出流畅的的页面,可以从以下几点做优化: WebView缓存 资源文件本地存储 减少耗时操作 客户端UI优化 可能有人会说了 ...
- 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储
前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...
- Android应用性能优化(转)
人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这 ...
随机推荐
- php的两个符号@和&---php总会要知道的系列
在写代码的时候,碰到了在函数和变量前家 @和$的的问题,于是就借这个机会,学习下php的传值和传引用这两种方式 首先 @ 运算符只对表达式有效.对新手来说一个简单的规则就是:如果能从某处得到值,就能在 ...
- iOS https(SSL/TLS)数据捕获
要捕获iPhone上的appstore的数据还真的没那么容易,以前介绍的那些使用代理手工导入证书的方法已经完全失效了,结果就是安装证书之后再打开appstore也无法正常的建立连接.按照我的分析其实是 ...
- appjs desktop
/* author: daimajia name: appjs Express example email: daimajia@gmail.com any qu ...
- 数据结构-bubble sort
#gcc version 4.5.3 (GCC) #include <iostream> #include <algorithm> template <typename ...
- Spring学习笔记之Bean的实例化
一.bean的实例化方法有3种, 1.构造器实例化 2.静态工厂方法实例化 3.实例工厂方法实例化 二.用构造器来实例化 <bean id="ShunDao" class=& ...
- 【转发】Linux下如何查看当前支持的文件系统及各分区的文件系统类型
Linux下查看当前内核系统支持的文件系统: 一般都在 /lib/modules/kernl-version/kernel/fs/ 目录下包含了当前内核版本支持的文件系统: ls /lib/modul ...
- 登陆sqlserver及修改端口号 (转)
在一台计算机上面同时安装两个sql server数据库实例,第一次安装默认为机器名,端口号为1433 1.如果不知道服务器名,却想登陆的话可以直接输入127.0.0.1登陆之后,在新建查询中输入:SE ...
- Java基础毕向东day03
Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载
- declare 关键字在Oracle中的应用。
一般用在trigger或匿名存储过程中使用.如 declare a number;begina:=1;end;
- (转)Ratchet教程:meta与link标签
原文:http://www.w3cplus.com/mobile/meta-and-link-tags-for-ratchet.html Ratchet教程:meta与link标签 ...