您现在的位置:首页 --> JavaScript --> Android利用webView调用JavaScript
Android利用webView调用JavaScript
浏览:1874次 出处信息
1、Android中利用webView调用网页上的Js代码。
Android 中可以通过webView来实现和Js的交互,在程序中调用Js代码,只需要将webView控件的支持Js的属性设置为true,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("javascript:test()");
2、网页上调用Android中Java代码的方法
在网页中调用Java代码,需要在webView控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object() { public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show(); } }); } }, "demo");
在网页中,只需要像调用Js方法一样,进行调用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3、Java代码调用Js并传参
首先需要带参数的Js函数,如function test(str),然后只需在调用Js时传入参数即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4、Js中调用Java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebView.addJavascriptInterface(new Object() { public void clickOnAndroid(final int i) { mHandler.post(new Runnable() { public void run() { int j = i; j++; Toast.makeText(Test.this, "测试调用java" + String.valueOf(j), Toast.LENGTH_LONG).show(); } }); } }, "demo");
然后在html页面中,利用如下代码:
<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
即可实现调用
建议继续学习:
- 网页与原生App如何交互 (阅读:2822)
- 微信webview模拟器 (阅读:2803)
- [Android]用WebView访问证书有问题的SSL网页 (阅读:1739)
- WebView跨源攻击分析 (阅读:1381)
- ios webview 相关 (阅读:1125)
- WebView跨源攻击分析 (阅读:925)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:如何在一个页面上让多个jQuery版本共存
文章信息
- 作者:CeeFee 来源: 阿飞博客
- 标签: webView
- 发布时间:2015-01-24 23:40:04
建议继续学习
近3天十大热文
- [11] 解决 ubuntu 的 /etc/hosts
- [9] 文言文白话文互转:文言文转白话文(现代文),
- [7] Http/2知识图谱
- [7] 领导需要比下属更懂技术吗?
- [7] 海量数据面试题举例
- [6] 聚类算法之ISODATA
- [6] 近场通信 vs. 低功耗蓝牙:如何抉择
- [6] 说说lighttpd的fastcgi
- [6] 一个 VLA (可变长度数组)的实现
- [6] arduino-蓝牙各种版本类型及费用对比