安卓、IOS内嵌H5的相互通信

一、h5触发安卓调用函数:

JavaScriptHandler.onActionResult(type)

1、JavascriptHandler是安卓定义的中间对象。

2、onActionResult为共同约定的方法名;type参数可传可不传(最好是传一下,IOS中不传的话不能触发);

二、h5接收安卓返回的参数

window.reTvInfo = function(res){
     //监听到方法返回之后逻辑处理
}

1、直接在window上挂载一个全局方法,安卓端调用之后,会触发js中的这个方法,如本例中的reTvInfo方法。res接收安卓返回的值

 

 

三、h5触发IOS调用函数

window.webkit.messageHandlers.partnerOpenScan.postMessage("调用扫码");

1、messageHandlers为IOS定义的中间量

2、partnerOpenScan为安卓端要调用的方法名=》意思是告诉IOS调用该方法

3、postMessage为固定写法

4、IOS中必须要传入参数。不然不能触发IOS方法

 

四、h5接收IOS返回值

window.partnerReturnInfo = function(dt){
       //监听到IOS返回之后的处理逻辑
}

 

五、总结

  安卓IOS内嵌h5的通信都是通过window全局量来实现,接收返回都是将函数挂载到window上,然后app端主动调用。

  触发方法会有所不同,特别要注意IOS必须带参才能触发

posted @ 2020-01-10 19:48  Hello_nico  阅读(848)  评论(0编辑  收藏  举报