关于安卓开发webview与js交互的问题
2016-02-23 17:33
573 查看
前段时间开发项目,用到了webview和js的交互,我这边只是实现了APP接受js返回的信息,废话不多说直接上代码。
WebViewwbReportContent = (WebView) findViewById(R.id.wbReportContent);
wbReportContent.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed();//即可忽略SSL证书错误,继续加载页面。这个地方是我没有https的证书,只能选择绕过,如果你用的是http交互的话请注释这行 } }); WebSettings webSettings = wbReportContent.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); wbReportContent.getSettings().setDefaultTextEncodingName("UTF-8"); wbReportContent.setWebChromeClient(new WebChromeClient());wbReportContent.addJavascriptInterface(new DemoJavaScriptInterface(UniversalHtmlActivity.this, null), "mobile")//重点在这里:在
DemoJavaScriptInterface中写你和js订好的接口
/*** 接收js返回的信息*/public class DemoJavaScriptInterface {private Context context;private Handler handler;public DemoJavaScriptInterface(Context context, Handler handler) {this.context=context;this.handler=handler;}/*** This is not called on the UI thread. Post a runnable to invoke* loadUrl on the UI thread.*/@JavascriptInterfacepublic void timeOut() {//timeOut是你和js定好的方法,必须是定好的,不然接收不到//你要干的事情};
其实这个网上已经有很多这个例子了,我只是简单易懂的在说一下!
相关文章推荐
- Android 大牛开发者博客列表
- Android.mk详解
- android高速上手(二)android开发环境搭建及hello world
- 关于WaitForMultipleObjects函数监测事件状态的问题
- iOS高仿百度糯米,版本号:5.13.0
- iOS 适配固定边距内容拉伸
- iOS开发基本须要
- android 聊天中 textview的气泡内容过多不换行导致出屏幕的解决办法
- 转:iOS开发者经常用到的多线程都有啥?
- iOS开发:Apply Pay商家接入指南-基础介绍
- Android NDK 往控制台打印Log
- 问题:为什么OVERLAPPED结构中的event必须得是手动的event
- Android状态栏颜色修改
- iOS平台语音边录边压边上传的实现
- iOS小明开发笔记(十七) (Quartz2D屏幕截图)
- 使用unity创建塔防游戏(原译)(part1)
- android中ImageView、ImageButton、Button之间的区别
- android 依赖包间传递数据
- Unity3D学习笔记(十三)导出游戏
- Unity3D学习笔记(十二)预制