目前畅由安卓与H5之间是通过拦截url的形式来进行交互的。安卓与H5之间的交互详情请见安卓与H5之间的交互 。注:通过对象注入的形式在低版本下会有安全漏洞,目前安卓最新的版本已经废弃这种方式。
拦截的url样式为:native://user?action=share&callback=onLoginSuccess&data=shareData;其中 native://user?表示与客户端进行的通信标识,action表示客户端要进行的操作,如:action=share表示分享的操作。callback表示安卓执行完action操作后调H5的方法。data表示H5传递给安卓的数据,其中包含了分享的数据,拨打的电话号码...。具体存在哪些action以及大概的url样式下面会做详细的介绍。
action代表的内容以及拦截的url样式。callback不为空代表native有回调方法给H5,data不为空代表H5有传递给native数据且data为字符串。
(1)login:代表要调到客户端进行登录的操作。登录成功后会将natvie的登录态同步给H5
native://user?action=login&callback=onLoginSuccess;
(2)getDeviceInfo:获取设备的信息。native://user?action=getDeviceInfo;
(3)closewebview:通知客户端关闭H5界面。
(4)XNChat:跳转到联系客户界面。
(5)ToMall:跳转到商城首页。
(6)weChatPay:微信支付,唤起微信客户端进行微信支付操作。
/native://user?action=weChatPay&data="{\"return_code\":\"SUCCESS\",\"return_msg\":\"OK\",\"version\":\"1.0.4\",\"appid\":\"a20170907000004638\",\"mch_id\":\"m20170907000004638\",\"device_info\":[],\"nonce_str\":\"LNDva2aqq3R0gONj\",\"result_code\":\"SUCCESS\",\"err_code\":[],\"err_code_des\":[],\"wx_appid\":\"wx272b73bc8474d024\",\"trade_type\":\"APP\",\"prepay_id\":\"wx2018032310201466b42063ab0767407397\",\"req_appid\":\"wx272b73bc8474d024\",\"req_partnerid\":\"50573865\",\"req_prepayid\":\"wx2018032310201466b42063ab0767407397\",\"req_package\":\"Sign=WXPay\",\"req_noncestr\":\"LNDva2aqq3R0gONj\",\"req_timestamp\":\"1521771614\",\"req_sign\":\"40A38E4B25F87DFB5EE1AC78EFF8B62C\",\"sign\":\"C8550317994DA258B04E41447693752C\"}"&callback=responseCallBack
注:data返回的数据格式不是很正确 目前客户端这边处理过了,看看h5那边能否改进 传一段正确的json数据
(7)loan:跳转到畅游贷款界面。
(8)call:客户端进行打电话的操作,其中电话号码是通过data传递给客户端的。native://user?action=call&data=xxxx; data就是手机号码字符串,比如:data="15316161521";
(9)getCategoryContentPosition:滴滴打车传定位的。native://useraction=getCategoryContentPosition&callback=xxxxx;
(10)toStep:跳转到步步夺鑫界面。
(11)share:表示此网页是可以进行分享操作的 分享的内容也是通过data传递给客户端的。
native://user?action=share&data=xxxxx;data具体内容如下
(12)hasMore:H5界面右上角是否出现更多电钮。native://user?action=hasMore&callback=xxxx;
(13)hasCity:H5界面右上角是否有城市。native://user?action=hasCity&callback=xxxxx&data=xxxx;
data字符串代表城市的名字 比如 data="上海"。
(14)paiPaiLoan:调到拍拍贷界面。
(15)titleRight:设置H5界面标题栏的文字,图标,以及点击事件。native://user?action=titleRight&callback=xxxx; data具体内容如下
(16)Contacts:跳转到系统联系人界面。
(17)toTargetPage:跳转到目标界面,此处设计到post提交和一般的提交方式。native://user?action=toTargetPage&data=xxxxx;data具体内容如下
(18)airent:享换机定义的scheme
(19) clickShare: 拼团界面分享成功回调给H5界面。native://user?action=clickShare&callback=xxxxx&data=xxxx;data表示分享的数据 具体格式如下。
网友评论