在android中调用js代码,js中又回调java 代码
来源:互联网 发布:台式机网络接口灯不亮 编辑:程序博客网 时间:2024/05/19 16:23
需求:
监听H5界面中的按钮的点击事件,当用户点击了按钮,android需要去获取H5中某些输入框的信息
网址:
https://cai-app-h5.huaxiafinance.com:58443/huaxia-crm-h5/authentication/authenticationIndex
上代码:
package cn.mifengkong.javaandjs;import android.content.Context;import android.graphics.Bitmap;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.webkit.JavascriptInterface;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class MainActivity extends AppCompatActivity { private WebView mWebView; private String url = "https://cai-app-h5.huaxiafinance.com:58443/huaxia-crm-h5/authentication/authenticationIndex"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.webview); WebSettings settings = mWebView.getSettings(); //设置WebView属性,能够执行Javascript脚本 settings.setJavaScriptEnabled(true); mWebView.addJavascriptInterface(new DataJavascriptInterface(this), "onclicklistener"); mWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); addImageClickListner(); } }); mWebView.loadUrl(url); } private void addImageClickListner() { //此处的代码是加载js,监听按钮的点击事件,然后获取某些输入框中的内容 mWebView.loadUrl("javascript:(function(){" + "var objs = document.getElementById('authentication'); " + "objs.ontouchend = function()" + " { " + "var mobileNo = document.getElementById('userMobileNo').value; " + "var bankCardNo = document.getElementById('bankCardNo').value; " + "var iDCard = document.getElementById('iDCard').value; " + "var userName = document.getElementById('userName').value; " + "var bankcardName = document.getElementById('bankcardName').options[document.getElementById('bankcardName').selectedIndex].text;" + " window.onclicklistener.savedata(mobileNo,bankCardNo,iDCard,userName,bankcardName);" + " }" + "})()"); } // js通信接口 public class DataJavascriptInterface { private Context context; public DataJavascriptInterface(Context context) { this.context = context; } @JavascriptInterface public void savedata(String mobileNo, String bankCardNo, String iDCard, String userName, String bankcardName) { Log.e("jiang", mobileNo + "--" + bankCardNo + "--" + iDCard + "--" + userName + "--" + bankcardName); } }}
源码下载
0 0
- 在android中调用js代码,js中又回调java 代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- 在Java中直接调用js代码
- Java中调用js代码
- java代码中调用js
- Android中Java代码和Js代码相互调用
- Android Java中调用js代码,js中调用Java代码
- 在java代码中调用js里的方法
- 在WebView中调用js代码
- Android的WebView中js与java代码相互调用
- Android的WebView中js与java代码相互调用
- 飞哥教你微信公众号开发-3-消息管理
- vc6.0 类视图不显示新创建的类
- Wowza服务器系列(2):开始二次开发
- 外设寄存器映射及中断向量表介绍
- 零基础入门深度学习(2) - 线性单元和梯度下降
- 在android中调用js代码,js中又回调java 代码
- PIC单片机入门_PICC头文件介绍
- Ajax基础
- 数据挖掘学习-准备篇-环境搭建
- 飞哥教你微信公众号开发-4-微信网页开发
- python subprocess模块 学习笔记
- Find them, Catch them(种类并查集)
- 零基础入门深度学习(3) - 神经网络和反向传播算法
- python django和被解放的姜戈有什么关系?