从Android Webview点击后,手机屏幕变为白色

时间:2018-02-14 10:59:39

标签: javascript android android-webview android-websettings

我正在使用Android Webview将一些网页内容加载到我的应用中。加载页面有一些Javascript内容,所以我必须将'webSettings.setJavaScriptEnabled(true)'设置为true,问题是当我从网页点击整个手机屏幕变成白色空白屏幕时。

我发现还有一件事是,如果我设置webSettings.setJavaScriptEnabled(false),webview会成功加载页面,但不能完全按预期显示内容。我正在使用下面的代码。我怎么能摆脱这个问题?搜索了很多地方,找不到任何有用的答案。

  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 个答案:

答案 0 :(得分:0)

如果要在后退时关闭包含WebView的Activity,可以覆盖onBackPressed方法并关闭活动:

@Override
public void onBackPressed() {
    finish();
}