Я использую стандартную реализацию WebView и переопределяя метод shouldOverrideUrlLoading
для запроса запроса внешним доменам. Звонок захватывается во всех моих проверенных версиях (15-22); однако в 15-18 WebView переходит к запрошенному URL-адресу до того, как вызываетсяOverrideUrlLoading для выполнения запроса внешнего браузера.shouldOverrideUrlLoading загрузка внутри и снаружи версий SDK <18
Пример:
SDK> = 19
WebView -> Загрузка URL -> shouldOverrideUrlLoading (TRUE), -> URL-адрес загружается в внешнем браузере и состояние Webview в сохраняется.
SDK < = 18
WebView -> Load URL -> URL загружается в WebView -> shouldOverrideUrlLoading (TRUE) -> URL загружается в внешнем браузере и состояние Webview теряется.
WebView Override Код:
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;
}
}
});
}