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 Studio系列(二)使用Android Studio开发/调试整个android系
  3. android listview继承BaseAdapter,自定义的适配器,getView方法执
  4. Android开发常用代码片段(三)
  5. Android Activity四种启动方式
  6. Android 性能优化之Java(Android)代码优化 (三)
  7. Android常用代码之普通及系统权限静默安装APK
  8. android 开发包的离线安装方式

随机推荐

  1. 基于RTP和Android的视频传输的研究实现方
  2. 基于“ViewHolder”技术提升Android List
  3. android软件盘的开关
  4. AnDroidDraw.apk的安装
  5. Android常用布局及属性--LinearLayout
  6. 如何获取android源代码
  7. android 自学日记(四) ---ActionBar
  8. android 随手记 仿微信的popwindow
  9. UnsatisfiedLinkError: dalvik.system.Pa
  10. Android启动过程分析-从按下电源键到第一