调起支付:orderInfo就是那个超长字符串
fun toAliPay(activity: AppCompatActivity, orderInfo: String, mHandler: Handler, flag: Int) {
val payRunnable = Runnable {
val alipay = PayTask(activity)
val result = alipay.payV2(orderInfo, true)
//发送给handle
val msg = Message()
msg.what = flag
msg.obj = result
mHandler.sendMessage(msg)
}
// 必须异步调用
val payThread = Thread(payRunnable)
payThread.start()
}
这样就OK了,支付完成还有个回调,解析handle发出去的result参数即可,
code = 9000代表支付成功,其他失败
2.如果你的项目是APP嵌套的H5商城需要调起支付宝,那么有2个方案:
方案一:H5拿到那个超长字符串给APP,APP去调起支付宝,同上
方案二:H5直接调起支付宝,无需上面那串字符串。(前提是你的H5商城已经实现了支付宝支付,也就是说在系统浏览器可以调起支付宝支付)
下面我们说下方案二:
核心代码:
private class MyWebViewClient extends WebViewClient {