? ? 目前暢由安卓與H5之間是通過攔截url的形式來進行交互的。安卓與H5之間的交互詳情請見安卓與H5之間的交互 。注:通過對象注入的形式在低版本下會有安全漏洞,目前安卓最新的版本已經(jīng)廢棄這種方式。
? ? 攔截的url樣式為:native://user?action=share&callback=onLoginSuccess&data=shareData;其中 native://user?表示與客戶端進行的通信標識,action表示客戶端要進行的操作,如:action=share表示分享的操作。callback表示安卓執(zhí)行完action操作后調H5的方法。data表示H5傳遞給安卓的數(shù)據(jù),其中包含了分享的數(shù)據(jù),撥打的電話號碼...。具體存在哪些action以及大概的url樣式下面會做詳細的介紹。
? ? action代表的內容以及攔截的url樣式。callback不為空代表native有回調方法給H5,data不為空代表H5有傳遞給native數(shù)據(jù)且data為字符串。
(1)login:代表要調到客戶端進行登錄的操作。登錄成功后會將natvie的登錄態(tài)同步給H5
? ? native://user?action=login&callback=onLoginSuccess;
(2)getDeviceInfo:獲取設備的信息。native://user?action=getDeviceInfo;
(3)closewebview:通知客戶端關閉H5界面。
(4)XNChat:跳轉到聯(lián)系客戶界面。
(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返回的數(shù)據(jù)格式不是很正確? 目前客戶端這邊處理過了,看看h5那邊能否改進 傳一段正確的json數(shù)據(jù)
(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:表示此網(wǎng)頁是可以進行分享操作的 分享的內容也是通過data傳遞給客戶端的。
? native://user?action=share&data=xxxxx;data具體內容如下

(12)hasMore:H5界面右上角是否出現(xiàn)更多電鈕。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:跳轉到系統(tǒng)聯(lián)系人界面。
(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表示分享的數(shù)據(jù) 具體格式如下。
