Я работаю с Android 5.0 и последним обновлением компонента WebView. Я пытаюсь внедрить удаленный веб-сайт (я не могу изменить исходный код этого сайта) в WebView.Android предотвращает навигацию WebView
Мой код ниже
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains(URL_SERVLET)) {
//Do nothing
Log.d("DEBUG", "load IMAGE");
//view.stopLoading();
} else {
Log.d("DEBUG", "load URL into WebView");
view.loadUrl(url);
}
return true;
}
// Called when all page resources loaded
public void onPageFinished(WebView view, String url) {
webView.setVisibility(View.VISIBLE);
splashscreenLayout.setVisibility(View.GONE);
}
});
На стороне сайта, я получаю кнопку, которая откроет другую страницу (с помощью JavaScript) внутри всплывающего окна. Когда я нажимаю на нее через веб-представление Android, этот новый URL-адрес заменяет текущий в веб-просмотре. Я просто хочу, чтобы ничего не произошло, когда я нажимаю на эту кнопку.
Он работает с этим кодом: этот адрес не загружен. Но веб-просмотр становится белым, как пустой экран.
Я попытался вызвать stopLoading(), не делает трюк.
Я не могу позвонить webview.reload(), потому что удаленный веб-сайт написан в jsp с одним URL-адресом, который обеспечивает (генерирует на лету, я думаю) html-страницу. Если я вызываю reload(), WebView повторно инициализирует первую страницу (страницу входа).
Я также попытался сохранить состояние веб-просмотра и восстановить его, но он не работает.
Есть ли способ «заблокировать» изменение URL-адреса и сохранить веб-просмотр, указывающий на первый URL-адрес без перезагрузки?