我正在使用標準的WebView實現,並且覆蓋了shouldOverrideUrlLoading
方法來捕獲對外部域的請求。電話正在我所有的測試版本中捕獲(15-22);然而,在15-18,在調用shouldOverrideUrlLoading來執行外部瀏覽器請求之前,WebView導航到請求的URL。shouldOverrideUrl在SDK版本的內部和外部加載<18
實施例:
SDK> = 19
web視圖 - >裝載URL - > shouldOverrideUrlLoading(TRUE) - > URL在外部瀏覽器和web視圖的狀態被保持加載。
SDK < = 18
web視圖 - >裝載URL - > URL加載web視圖 - > shouldOverrideUrlLoading(TRUE) - > URL在外部瀏覽器和web視圖的狀態丟失加載。
的WebView超越代碼:
private void webViewClient() {
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith(BASE_URL)) {
return false;
} else {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
}
}
});
}