js 与 Android 的交互
来源:互联网 发布:学c语言是用什么软件 编辑:程序博客网 时间:2024/05/17 12:01
1. js调用Android
- 定义给js调用的接口
package com.xunku.weixiaobao.me.common;import android.content.Context;import android.util.Log;import android.webkit.JavascriptInterface;/** * Created 郑贤鑫 on 2017/4/7. */public class JavaScriptinterface { Context context; public JavaScriptinterface(Context c) { context= c; } /** * 与js交互时用到的方法,在js里直接调用的 */ @JavascriptInterface public void HtmlcallJava(String jsonString) { Log.i("sinstar", "showToast: "+jsonString);// Toast.makeText(context, jsonString, Toast.LENGTH_LONG).show(); }}
2.将这个 接口 传递给webview 的html页面WebSettings webSettings = wvCourseContent.getSettings(); //设置WebView属性,能够执行Javascript脚本 webSettings.setJavaScriptEnabled(true); //向 html 页面 注入实例 wvCourseContent.addJavascriptInterface(new JavaScriptinterface(this),"jsObj"); //设置可以访问文件 webSettings.setAllowFileAccess(true); //设置支持缩放 webSettings.setBuiltInZoomControls(true); //加载需要显示的网页 wvCourseContent.loadUrl(url); //设置Web视图 wvCourseContent.setWebViewClient(new webViewClient ());
//Web视图 private class webViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }
- js 调用这个接口
<script type="text/javascript" language="javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端if(isAndroid){window.jsObj.HtmlcallJava('{"transStatus":"01","orderNo":"20170309174643528038477","msg":"ä»æ¬¾æå"}');}else{window.webkit.messageHandlers.showMobile.postMessage('{"transStatus":"01","orderNo":"20170309174643528038477","msg":"ä»æ¬¾æå"}');} </script>
0 0
- Android 与 js 的交互
- Android 与 js 的交互
- android与js的交互
- js 与 Android 的交互
- android 与 js 交互
- Android与JS交互
- Android 与JS交互
- android与js交互
- android与JS交互
- android与js交互
- Android与js交互
- Android与JS交互
- Android与Js交互
- ANDROID 与JS交互
- Android与JS交互
- Android与js交互
- Android 与 js 交互
- Android与JS交互
- C++第6次实验(提高班)—类和对象2
- ATP的SDOI2017R1续命记
- HTML5桌面通知:notification
- IDEA maven dependency自动补全
- Masnory 多个控件与优先级
- js 与 Android 的交互
- DB2入门(5)——DB2配置文件
- 机器学习入门系列06,Logistic Regression逻辑回归
- 文件上传和下载
- 高仿微信上划取消录音
- Delphi 关于子线程控制界面控件时,画面抖动的问题
- 仿wanplus.com游戏网站,建站。
- C++沉思录-第6章 句柄
- 简易计算器