android WebView支付宝wap支付转支付宝客户端支付重写WebViewClient的以下方法即可。可参考 支付宝平台文档商户APP的WebView处理alipays协议
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
// 获取上下文, H5PayDemoActivity为当前页面
final Activity context = H5PayDemoActivity.this;
// ------ 对alipays:相关的scheme处理 -------
if(url.startsWith("alipays:") || url.startsWith("alipay")) {
try {
context.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(url)));
} catch (Exception e) {
new AlertDialog.Builder(context)
.setMessage("未检测到支付宝客户端,请安装后重试。")
.setPositiveButton("立即安装", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Uri alipayUrl = Uri.parse("https://d.alipay.com");
context.startActivity(new Intent("android.intent.action.VIEW", alipayUrl));
}
}).setNegativeButton("取消", null).show();
}
return true;
}
// ------- 处理结束 -------
if (!(url.startsWith("http") || url.startsWith("https"))) {
return true;
}
view.loadUrl(url);
return true;
}