支付 - 手机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());
}