支付 - 手机web支付唤起本地支付宝

2017-10-23  本文已影响18人  _琳哥
bug重现流程
1.手机安装支付宝并打开如下图
2. 然后按手机HOME键让支付宝处于后台
3. 进入自己app内的手机web支付页面
4. 唤起本地支付宝的方式参考的 支付宝官方文档
5. 唤起后支付宝就一直处于下图的状态

解决方式:
把唤起支付宝方式由官方提供的方式改成下面的方式

try {
    Intent it = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
    it.addCategory(Intent.CATEGORY_BROWSABLE);
    // forbid explicit call
    it.setComponent(null);
    // start the activity by the intent
    startActivityIfNeeded(it, -1);
    finish();//启动alipay app后关闭该网页
} catch (URISyntaxException e) {
    Logger.e("URISyntaxException = " + e.getMessage());
} catch (ActivityNotFoundException e) { //7.0若没有安装支付宝会抛出此异常
    //字符串待提取出
    ToastUtil.showTip(App.getInstance(), "未检测到支付宝客户端,请安装后重试");
    Logger.e("ActivityNotFoundException" + e.getMessage());
} catch (Exception e) {
    Logger.e("Exception" + e.getMessage());
}

上一篇下一篇

猜你喜欢

热点阅读