WebView H5 跳轉(zhuǎn)微信支付、支付寶、QQ錢包WAP

? ? ? 最新小菜在用研究借助 WebView h5 跳轉(zhuǎn) 微信和支付寶支付頁面,研究了挺久,一直沒有找到合適的判斷。很簡單的兩小段代碼分享一下,希望可以幫助需要的朋友。

? ? ? 目前小菜是借助的 TBS X5 瀏覽器內(nèi)核的 WebView,原理是一樣的。主要是對url內(nèi)容的判斷,以下是關(guān)鍵代碼部分,大家一看便了解:

? ? ? 可以支持的包括:微信掃碼、微信--手機(jī)快捷支付、支付寶掃碼、支付寶--手機(jī)快捷支付、QQ掃碼、QQ錢包(WAP)

mWebView.setWebViewClient(new WebViewClient() {

? ? @Override

? ? public boolean shouldOverrideUrlLoading(WebView view, String url) {

? ? final Activity context = AdvertX5Activity.this;

? ? // ===========調(diào)用微信支付頁面===========

? ? // 如下方案可在非微信內(nèi)部WebView的H5頁面中調(diào)出微信支付

? ? if(url.startsWith("weixin://wap/pay?") || url.startsWith("weixin")|| url.startsWith("wechat")) {

? ? ? ? try{

? ? ? ? ? ? ?context.startActivity(newIntent("android.intent.action.VIEW", Uri.parse(url)));

? ? ? ? }catch(Exception e) {

? ? ? ? ? ? ?e.printStackTrace();

? ? ? ? }

? ? ? ? return true;

? ? }

? ? // ===========調(diào)用QQ錢包頁面(mqqapi測試效果作用較大)===========

? ? if(url.startsWith("mqqapi") || url.startsWith("mqqwpa")) {

? ? ? ? try{

? ? ? ? ? ? context.startActivity(newIntent("android.intent.action.VIEW", Uri.parse(url)));

? ? ? ? }catch(Exception e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }

? ? ? ? return true;

? ? }

? ? // ===========調(diào)用支付寶支付頁面===========

? ? // ------? 對alipays:相關(guān)的scheme處理 -------

? ? if(url.startsWith("alipays:") || url.startsWith("alipay")) {

? ? try {

? ? ? ? context.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(url)));

? ? } catch (Exception e) {

? ? ? ? new android.support.v7.app.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;

}

? ? // ------- 處理結(jié)束 -------

? ? if (!(url.startsWith("http") || url.startsWith("https"))){ ? return true; ? ?}

? ? return false;

}

? ? @Override

? ? public void onPageStarted(WebView webView, String s, Bitmap bitmap) {

? ? ? ? super.onPageStarted(webView, s, bitmap);

? ? }

? ? @Override

? ? public void onPageFinished(WebView view, String url) {

? ? ? ? super.onPageFinished(view, url);

? ? }

});

QQ掃碼
微信掃碼
支付寶掃碼
微信-手機(jī)快捷支付
QQ 錢包
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容