場景:App 用 WebView 加載 H5 頁面,點擊支付跳轉至支付寶 PC 頁面,體驗差且常現「無法登錄、掃碼不回調」。
alipaySdk-*.aar,放入 `libs`,Gradle 依賴。
// 原生調用示例
Runnable payRunnable = () -> {
PayTask alipay = new PayTask(activity);
Map result = alipay.payV2(orderInfo, true);
// 處理結果 result.get("resultStatus") == "9000" 成功
};
Thread payThread = new Thread(payRunnable);
payThread.start();
用 @JavascriptInterface 暴露原生支付方法給 H5 調用:
public class PayBridge {
@JavascriptInterface
public void startAlipay(String orderInfo) {
// 上述原生支付邏輯
}
}
webView.addJavascriptInterface(new PayBridge(), "AndroidPay");
H5 頁面:`AndroidPay.startAlipay(orderInfo)`
WebView 嵌套支付寶 H5 支付問題多、維護難。果斷切換原生 SDK 接入,或用 JSBridge 觸發原生支付,徹底解決登錄、回調、體驗問題。