Android Java和JavaScript代码相互调用
来源:互联网 发布:菜鸟裹裹抢单软件 编辑:程序博客网 时间:2024/05/16 10:42
在Android中实现Java和Js交互,通常只需要以下几步,
1.WebView开启JavaScript脚本执行
2.WebView设置供JavaScript调用的交互接口
3.客户端和网页端实现调用的接口
JAVA
private WebView mWebView; private JSInterface mInterface; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mInterface = new JSInterface(); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new WebViewClient()); mWebView.setWebChromeClient(new WebChromeClient()); mWebView.addJavascriptInterface(mInterface, "EventJavascriptInterface"); mWebView.loadUrl("http://XXXXXXXXX/js-call-1.html"); } //Java调用JavaScript public void callJSButton(View v){ String para1 = "Para1"; int para2 = 2; boolean para3 = true; mWebView.loadUrl(String.format("javascript:testJavaCall(\"%s\",%s,%s)", para1,para2,para3)); } public void refreshButton(View v){ mWebView.reload(); }
Interface
public class JSInterface { @JavascriptInterface public void testJSCall(){ Log.e("Test","testJSCall"); } @JavascriptInterface public void testJSCall(String para){ Log.e("Test","testJSCall para = "+para); } @JavascriptInterface public String testJSCall1(){ return "This is a test"; }}
HTML
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><script type="text/javascript">function callJAVA(){ alert(window.EventJavascriptInterface.testJSCall1());}function testJavaCall(arg1,arg2,arg3){ alert("testJavaCall: arg1="+arg1+", arg2="+arg2+", arg3="+arg3);}</script></head><body>This is my test html <br/><br/><a onClick="javascript:window.EventJavascriptInterface.testJSCall()" >点击调用java函数</a><br/><a onClick="javascript:EventJavascriptInterface.testJSCall('hello world')" >点击调用java函数并传递参数</a><br/><a onClick="callJAVA()" >点击调用java函数并返回结果</a><br/><br/></body></html>
0 0
- Android Java和JavaScript代码相互调用
- JavaScript和Android代码相互调用
- Android:java和javascript相互调用
- Android:java和javascript相互调用
- Android:java和javascript相互调用
- Android 中 Java 和 JavaScript 相互调用
- Android下实现Java和JavaScript代码相互调用的代码
- Android和javascript相互调用
- Android中Java代码和Js代码相互调用
- Android WebView与JavaScript代码相互调用
- Android之Webview使用Java代码和JS相互调用
- Android和JavaScript相互调用初学
- Android和javascript相互调用2
- Java和JavaScript的相互调用
- java和JS代码相互调用
- java和JS代码相互调用
- Android 本地代码与JavaScript的相互调用
- android webview native与JavaScript相互调用 java与JavaScript相互调用
- RecycleView显示不同类型的Item
- Python进阶教程
- mkfs命令使用
- cf 1a Theatre Square
- AndroidStudio导入项目一直卡在Building gradle project info最快速解决方案
- Android Java和JavaScript代码相互调用
- 关于iPhone456字体尺寸适配问题
- 算法课后作业第二题
- leetcode Problem8_StringtoInt
- 【总结】20151024重庆市NOIP模拟赛
- 阿里云CentOS7.0服务器配置(java+mariadb+tomcat+svn+ftp)
- BZOJ1028[JSOI2007]麻将
- MySQL的decimal类型
- screen命令的使用