Android--JS向Android传递参数,并获得返回值(一个简单的实例)
来源:互联网 发布:淘宝网怎么代理商品 编辑:程序博客网 时间:2024/05/16 06:07
很多情况下,我们开发人员可能需要网页调用android代码,像调用方法一样,既能传入参数,有能得到返回值。
鉴于此种情况,特写此实现步骤供大家参考。
1、需要将webview控件的支持js的属性设置为true:
mWebView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
2、在android代码中添加js接口方法供js调用:
//对象名demo,其方法名为testMethod,
//方法的形参有两个str1和str2,
//方法的返回值类型为String类型
webView.addJavascriptInterface(new Object() {
@SuppressLint("JavascriptInterface")
public String testMethod(final String str1,final String str2) {
String rtnStr;
rtnStr = str1+str2;
//to-do
return rtnStr;
}
}, "demo");
3、html页面中通过JS来调用上面的方法,将控件中的值以形参传入,并将上面方法返回的值写入控件中。
js调用上面的方法的代码为:var rtnValue=demo.testMethod(形参1,形参2);
html页面代码如下:
<html><meta charset="GBK"><head><title>js交互android</title><script type="text/javascript">function postStr(){ var rtn = demo.adrdMethod(document.getElementById("text").value, document.getElementById("text1").value); document.getElementById("text2").value=rtn;}</script></head><body><form action=""><p><div id="info" >向Android传递两个实参,并取得返回值</div></p><p><input type="text" id="text" value="实参一"/></p><p><input type="text" id="text1" value="实参二"/></p><p><input type="text" id="text2" value="返回值"/></p><p><input type="button" id="btn_post" onclick="postStr()" value="发送消息至android"/></p></form></body></html>将此html取名为jsAndroid.html,并放到Android项目的assets目录下。
4、以上html可以通过下面这行代码加载到webView中打开:
webView.loadUrl("file:///android_asset/jsAndroid.html");
- Android--JS向Android传递参数,并获得返回值(一个简单的实例)
- ios--OC调用JS传递参数并获得返回值(实例)
- C#向线程传递参数和获得返回值
- Winform传递参数至Url并获得返回值
- Winform传递参数至Url并获得返回值
- js 与 android 的交互(方法互调用) 和android向 js传递值, js向android传参数 事件拦截看上一篇
- ios--OC调用JS并获得返回值(实例)
- ios--OC调用JS并获得返回值(实例)
- ios--OC调用JS并获得返回值(实例)
- android post方式传递参数并获取返回数据代码
- Android的NDK开发JNI传递参数和返回值
- HttpClient简单实例-参数传递和返回
- android原生webview中调用JS方法并传递参数给JS遇到的问题
- 一个使用JS提交表单并传递参数的问题
- android基础笔记:显示意图并传递简单参数
- Android中一个APP启动另一个APP并传递参数
- 使用html传递参数的一个简单实例
- 大话android之简单的参数传递
- 【数据结构】 利用栈实现进制转换
- HTML5画布振荡斑点
- 冷热备份操作细节实验
- 创建表空间及用户和权限
- Android 中的framebuffer
- Android--JS向Android传递参数,并获得返回值(一个简单的实例)
- 从技术上分析汤唯遭遇电信诈骗的细节
- 原生js(点击按钮换图)
- Android MediaPlayer状态机
- JAVA获取当前的系统环境
- Mybatis嵌套查询的原理与例子
- 在linux服务器上运行python文件
- Android Dialog背景全透明无边框 Theme Style
- 不使用第三方变量交换两个数值变量的值(java语言)