第一步:js调用Android方法:接收Android传递过来的数据,并做处理

//参数一:调用java中的方法   submitFromWeb是方法名,必须和Android中注册时候的方法名称保持一致

//参数二:返回给Android端的数据,可以为字符串,json等信息

//参数三:js接收到Android传递过来的数据之后的相应处理逻辑

window.WebViewJavascriptBridge.callHandler(

'getUserAuth'

, {'param': ""}

, function(responseData) {

alert(responseData)

}

);

第二步:JS注册事件监听

function connectWebViewJavascriptBridge(callback) {

if (window.WebViewJavascriptBridge) {

callback(WebViewJavascriptBridge)

} else {

document.addEventListener(

'WebViewJavascriptBridgeReady'

, function() {

callback(WebViewJavascriptBridge)

},

false

);

}

}

第三步:注册回调函数,第一次连接时调用 初始化函数

connectWebViewJavascriptBridge(function(bridge) {

//初始化

bridge.init();

//Android调用js方法:functionInJs方法名称需要保持一致 ,并返回给Android通知

bridge.registerHandler("functionInJs", function(data, responseCallback) {

alert(data);

var data2 = document.getElementById("text1").value;

var responseData = "我是Android调用js方法返回的数据---"+ data2;

responseCallback(responseData);

});

})

问题:刚进入页面就使用WebViewJavascriptBridge调用Android的方法不起作用,若设置1秒的定时器就可以调用到这个方法,说明刚进入页面时WebViewJavascriptBridge可能还未初始化完成

解决:把第一步的代码放在第三步中bridge.init();的后面执行,就可以达到刚进入页面就调用成功,获取到安卓的数据,并携带数据发送axios请求获取到用户数据,渲染到页面

与安卓联调,调用安卓那边的方法,获取到安卓传过来的数据,再携带这些数据发送axios请求,获取到用户的信息的更多相关文章

  1. 安卓端调用h5界面js方法和ios端调用h5界面js方法

      备注:本人为h5开发人员,不懂安卓和ios,这是开发小伙伴对接联调的主代码. 1.iOS端调用h5界面js方法:     2.安卓端调用h5界面js方法: @Override    protect ...

  2. python通过get,post方式发送http请求和接收http响应的方法,pythonget

    python通过get,post方式发送http请求和接收http响应的方法,pythonget 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家 ...

  3. 在vuejs 中使用axios不能获取属性data的解决方法

    Laravel5.4 vuejs和axios使用钩子mounted不能获取属性data的解决方法 //出错问题:在then 这个里边的赋值方法this.followed = response.data ...

  4. mob免费短信验证码安卓SDK调用方法

    很不错的一款免费验证码平台,支持IOS.安卓,比那些收费的稳定.开发容易.分享给大家,希望大家不要滥用 官网: http://mob.com/ 官方有开发文档,但是有几点要注意的官方没有提到,导致初始 ...

  5. js中如果遇到低版本安卓设备调用setTimeout不生效解决办法

    工作中会遇到低版本安卓设备调用setTimeout不生效,既不会报错,里面的函数也不会执行,这里po一个解决办法,如果不执行则执行安卓自己封装的原生的setTimeout方法:sdk.setTimeo ...

  6. eclipse安卓引入库项目的正确方法

    之前清单文件里theme主题老是改不成库项目里定义好的主题@style/Theme.AppCompat.Light,只能用默认主题@style/AppTheme <application and ...

  7. 微信小程序开发(十三)安卓手机调用wx.getConnectedWifi API失败

    安卓手机调用wx.getConnectedWifi API失败,返回的错误码是12000.需要先startWifi 接口: wx.startWifi({ success(res) { console. ...

  8. 使用AIDL远程调用服务中的方法

    AIDL:android interface define language(接口定义语言) 作用:方便远程调用其他服务中的方法 注意:安卓四大组件都要在清单文件注册 aidl创建图: AIDL的全称 ...

  9. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

随机推荐

  1. python-文件操作练习-配置文件读取、修改、删除

    文件操作练习:http://www.cnblogs.com/wupeiqi/articles/4950799.html global log 127.0.0.1 local2 daemon maxco ...

  2. 11.qml-通过方法来加载组件、字符串方式加载组件

    在上章,我们学习了10.qml-组件.Loader.Component介绍. 本章我们继续来学习组件的其它创建方式. 1.调用Function来加载和移除组件 之前我们是使用Loader对象来实现加载 ...

  3. Java_接口

    接口 接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写.接口的作用主要体现在一下两点 1.指定规则2.利用这些规则给类做功能扩展 接口的定义和使用 接口使用interface关键字来定义,使 ...

  4. 如何提高CRM系统使用率?

    随着时代的发展和市场的变化,客户在企业的眼中开始变得越来越重要.谁拥有更多的客户,谁就能在激烈的市场竞争中占据一席之地.现在很多企业通过CRM系统转变为了"以客户为中心".但是,许 ...

  5. 云计算OpenStack---虚拟机获取不到ip(12)

    一.现象描述 openstack平台中创建虚拟机后,虚拟机在web页面中显示获取到了ip,但是打开虚拟机控制台后查看网络状态,虚拟机没有ip地址,下图为故障截图: 二.分析 1.查看neutron服务 ...

  6. 要想在for语句中直接定义一个变量

    要想在for语句中直接  定义一个变量  (如下的代码) 1 for(uint16_t i=0;i<10;i++); 2 if( GPIO_ReadInputDataBit(GPIOA, GPI ...

  7. 防火墙 firewall iptables

    firewalld FirewallD 使用服务service 和区域zone来代替 iptables 的规则rule和链chain,默认情况下,有以下的区域zone可用: drop – 丢弃所有传入 ...

  8. [翻译] 预览 C# 10 的新东西

    原文: [Introducing C# 10] 作者: Ken Bonny ​ 本周早些时候(译注:原文发表于5月1日),我关注了 Mads Torgersen 在 DotNet SouthWest ...

  9. 内建函数 iter()

    可以选择接受一个无参的可调用对象以及一个哨兵(结束)作为输入.当已这种方式使用时,iter()会创建i一个迭代器,然后重复调用用户提供的可调用对象,直到返回哨兵的值为止. import sys wit ...

  10. 获取两个时间点间的随机时间&时间戳

    获取两个时间点间的随机时间&时间戳 方案一 # python2 不兼容,python3正常 import datetime,random def randomtimes(start, end, ...