WebView支付寶wap支付轉支付寶客戶端支付

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;
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章