TV端呼叫支付寶掃碼支付
阿新 • • 發佈:2019-01-02
支付之前沒做過,TV端的更沒接觸過,現公司的方案是通過呼叫支付寶網頁掃碼轉移至手機支付,想來對前端來說,沒什麼大的問題,支付流程轉移到了後端嘛,誰能想到會遇到下面這個問題。
步驟如下:
1.訪問公司網頁
2.跳轉至支付寶支付頁面
3.刷出支付寶掃碼頁面
注意支付寶支付頁面是已經出來了,但是這個時候,立即跳到了下面的錯誤頁面,試過了n種方法都不得解,最後一位朋友給了啟發
解決方案:
就是很簡單的在shouldOverrideUrlLoading返回了false
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { /*payWeb.loadUrl(url); return true;*/ return false; }
看看這個函式返回值的解釋吧
shouldOverrideUrlLoading方法在webview載入URL的時候可以截獲這個動作。
這裡主要說它的返回值的問題:
1、 預設返回:returnsuper.shouldOverrideUrlLoading(view,
url); 這個返回的方法會呼叫父類方法,也就是跳轉至手機瀏覽器,平時寫webview一般都在方法裡面寫 webView.loadUrl(url);然後把這個返回值改成下面的false。
2、返回: returntrue;
webview處理url是根據程式來執行的。
3、返回: returnfalse; webview處理url是在webview內部執行。
估計很多人犯過跟我一樣的錯誤,細節很重要啊,這裡備註一下吧