Экран телефона становится белым после нажатия на 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();
}
Другие вопросы по тегам