Экран телефона становится белым после нажатия на Android Webview
Я использую Android Webview для загрузки некоторого веб-контента в свое приложение. Страница загрузки имеет некоторый контент Javascript, поэтому мне нужно установить значение ' webSettings.setJavaScriptEnabled(true)"в значение true, проблема заключается в том, что когда я нажимаю обратно со страницы веб-страницы, весь экран телефона превращается в белый пустой экран.
Я обнаружил еще одну вещь: если я установил webSettings.setJavaScriptEnabled (false), веб-просмотр успешно загружает страницу, но не полностью показывает содержимое, как ожидалось. Я использую код ниже. Как я могу избавиться от этой проблемы? Искал так много мест и не мог найти полезного ответа.
private void initView() {
initWebView();
initWebSettings();
}
@SuppressLint("NewApi")
private void initWebView() {
setWebChromeClient(new WebChromeClientCustom());
setWebViewClient(new WebViewClientCustom());
setOnLongClickListener(this);
setFocusableInTouchMode(true);
requestFocus();
}
@SuppressLint("SetJavaScriptEnabled")
private void initWebSettings() {
final WebSettings webSettings = getSettings();
webSettings.setUseWideViewPort(false);
webSettings.setLoadWithOverviewMode(false);
webSettings.setSupportMultipleWindows(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(false);
webSettings.setAppCacheEnabled(true);
}
1 ответ
Если вы хотите закрыть Activity, которая содержит WebView, при повторном нажатии, вы можете переопределить onBackPressed
Метод и закрыть деятельность:
@Override
public void onBackPressed() {
finish();
}