目标

实现Native与JS页面的相互调用

  • JS从Native调取Token
  • JS调取Native跳转
  • Native调取当前JS里的消息信息、用户信息等
  • JS掉起Native支付页面,Native支付完成(失败)后回调给JS

实现框架 (Android 、iOS、JS)

android参考:https://github.com/lzyzsd/JsBridge、https://github.com/hjhrq1991/JsBridge

iOS参考:https://github.com/LOVEGLXR/WebNewsJSBridgeOC

JS接入方法:参考android或iOS的任何一个即可

示例代码<支付>

H5

            


Android

1.根据 桥名称 TJJavascriptBridge 注册 JsBridge

webView.setDefaultHandler(new DefaultHandler()); webView.setCustom("TJJavascriptBridge");

2.注册JS调用Native的方法:requestPay

webView.registerHandler("requestPay", (data, function) -> {     //跳转到支付页面});

3.支付完成(或失败)后回调JS

//微信支付成功通过EventBus回调 @Subscribe(threadMode = ThreadMode.MAIN) public void onPayEvent(PayEvent event) { if (event.isSuccess) { webView.callHandler("onPaySuccess", "", data -> { }); } else { webView.callHandler("onPayFail", event.failurReason, data -> { }); } }

iOS

1.引入 WebViewJavascriptBridge 并注册到 UIWebview

@property WebViewJavascriptBridge* bridge;[WebViewJavascriptBridge enableLogging];_bridge = [WebViewJavascriptBridge bridgeForWebView:_mWebView webViewDelegate:self handler:nil];

2.注册JS调用Native的方法:requestPay

[_bridge registerHandler:@"requestPay" handler:^(id data, WVJBResponseCallback responseCallback) {        //跳转到支付页面 }];

3.支付完成(或失败)后回调JS

- (void) onPaySuccess{    [_bridge callHandler:@"onPaySuccess"];}- (void) onPayFail{    [_bridge callHandler:@"onPayFail" data:@"失败原因:***"];}

【关注公众号 发现更多精彩】

更多相关文章

  1. Android(安卓)SMSC设置失败短信发送失败问题
  2. android studio apply script build.gradle 总是time out
  3. 【Android开发那点破事】解决Andriod使用HttpURLConnection 失败
  4. Android实用视图动画及工具系列之三:表情加载动画和失败加载动画,
  5. 自己开发的App在华为荣耀系列手机上安装失败,“未包含任何证书”
  6. android手游渠道接入业务+技术全讲解
  7. Android微信支付快速集成案例及有效解决返回值-1
  8. Android(安卓)5.0 权限管理导致的apk安装失败解决方案
  9. Android支付宝模块的ali64错误解决

随机推荐

  1. Android:解决ListView按下后上下滑动背景
  2. Android studio was unable to find a va
  3. Android 使用iperf测试wifi吞吐量
  4. 二、 Android中gravity与layout_gravity
  5. Linux下Android(安卓)ADB驱动安装详解
  6. JNI 入门
  7. 8. android Tab 选项卡控件
  8. Android Service AIDL 远程调用服务 【简
  9. Android Debug certificate expired
  10. android实现服务器图片本地缓存