Android通过webview和html进行交互

先来看看Html端代码

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />head><body><input type="button" value="Say hello"    onClick="goHomepage.showToast()" />body>html>

再来看看Android 端代码

 WebSettings ws = webView.getSettings();        ws.setJavaScriptEnabled(true);//开启JavaScript支持        ws.setLoadWithOverviewMode(true);        ws.setUseWideViewPort(true);        webView.setHorizontalScrollBarEnabled(false);//水平不显示 滚动条        webView.setVerticalScrollBarEnabled(false); //垂直不显示        webView.addJavascriptInterface(this, "goHomepage");        // 开启DOM缓存,开启LocalStorage存储(html5的本地存储方式)        webView.getSettings().setDomStorageEnabled(true);        webView.requestFocusFromTouch();        webView.requestFocus();        ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);    // 适应屏幕,内容自动缩放        webView.loadUrl("file:///android_asset/web_dten/test.html");
@JavascriptInterface    public void showToast() {        startActivity(new Intent(this, HomeActivity.class));        finish();    }

以上方式只是适合API16以上,那么API16下是怎么处理的呢?看代码

 webView.addJavascriptInterface(new ToActivityInterface(WebviewActivity.this), "goHomepage");public class ToActivityInterface {        private Context context;        private ToActivityInterface(Context context) {            this.context = context;        }        @JavascriptInterface        publicvoid showToast() {            startActivity(new Intent(context, HomeActivity.class));            finish();        }    }

其它地方不变,只是这个接口得自己实现,由于安全问题,所以API16之后,google已经帮我们封装了。

注意:需要调用的方法千万别写成私有的:private

更多相关文章

  1. 转:Android(安卓)开发技巧杂集
  2. Android所有系统资源图标android.R.drawable查看
  3. ANDROID获取设备ID、型号及其它信息
  4. Android移动操作系统源代码
  5. android 网络 post get
  6. 学习Android(安卓)必备 实例大集合
  7. 善用Android预定义样式
  8. android知识链接汇总(3)
  9. Android(安卓)UI开发第一篇――android的九宫格式实现

随机推荐

  1. 2011.07.14——— android res与assets的
  2. Android中应用界面主题Theme使用方法和页
  3. android Intent机制详解
  4. android 自定义进度条颜色
  5. Android公共库(缓存,下拉ListView,下载管
  6. android中的selector背景选择器的用法
  7. Android:设置圆形头像,Android截取圆形图片
  8. Android(安卓)JNI打印c\c++日志信息
  9. Android(安卓)Training学习笔记之开始篇
  10. Android(安卓)9.0 cmds