项目需求:接收一个支付宝二维码支付url,通过webview打开对应的支付宝app支付页面;
之前在网上找了段代码结果适配有问题,然后就顺便研究下,记录(liu)在(shui)此(zhang);测试过的机型 : 红米1s(4.4.4), 华为TAG-AL100(5.1), 华为KNT-AL20(6.0), exus6p(7.1.1);
接收到的支付链接 : url=https://qr.alipay.com/stx01744jxpniu1ijb5wr7d
P.S. 具体规则可以看 蚂蚁金服文档
之前查看到的文章大多类似 这篇;
主要代码:
//启动支付宝,并跳转到付款页面
if (url.contains("platformapi/startapp")) {
startAlipayActivity(url);
}
private void startAlipayActivity(String url) {
LogUtils.d("alipay", "startUp");
Intent intent;
try {
intent = Intent.parseUri(url,
Intent.URI_INTENT_SCHEME);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setComponent(null);
startActivity(intent);
LogUtils.d("alipay", "start intent = " + intent.toString());
} catch (Exception e) {
e.printStackTrace();
LogUtils.d("alipay", "error " + e.getMessage());
}
}
不过运气不好,我手上的机子Nexus6P系统是7.1.1的,运行不成功,一直停留在网页中,并未跳转,直接使用断点chrome://ins