网页不可用,WebView Android

Webpage not available, WebView Android

WebView WebDimrah;
WebSettings WebSettingDimrah;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    WebDimrah  = (WebView)findViewById(R.id.WebView1);
    WebSettingDimrah  = WebDimrah.getSettings() ;

    WebDimrah.setWebViewClient(new WebViewClient());
    WebDimrah.getSettings().setJavaScriptEnabled(true);
    WebDimrah.loadUrl("https://facebook.com");

你好,我有问题,我有一个家庭作业要用 android studio 制作网页视图,我输入 url facebook,然后 运行 它,但它只是像那样

我对我的清单有权限,但在我的 avd 中仍然网页不可用

Logcat:

11-17 19:16:06.535 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper', referenced from method androidx.core.view.ViewCompat.addOnUnhandledKeyEventListener
11-17 19:16:06.535 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'android.view.WindowInsets', referenced from method androidx.core.view.ViewCompat.dispatchApplyWindowInsets
11-17 19:16:06.545 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'android.view.WindowInsets', referenced from method androidx.core.view.ViewCompat.onApplyWindowInsets
11-17 19:16:06.545 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'android.view.View$OnUnhandledKeyEventListener', referenced from method androidx.core.view.ViewCompat.removeOnUnhandledKeyEventListener
11-17 19:16:06.545 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat', referenced from method androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener
11-17 19:16:06.585 5829-5829/com.dimrahwebkit E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method androidx.appcompat.widget.AppCompatImageHelper.hasOverlappingRendering
11-17 19:16:06.975 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
11-17 19:16:06.975 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
11-17 19:16:06.975 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
11-17 19:16:07.255 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
11-17 19:16:07.255 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
11-17 19:16:07.255 5829-5829/com.dimrahwebkit E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
11-17 19:16:07.255 5829-5829/com.dimrahwebkit E/EGL_emulation: tid 5829: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)```

您需要overrideWebViewClientonReceivedSslError()方法才能显示网页。您的代码应该如下所示:

private WebView WebDimrah;
private WebSettings WebSettingDimrah;

@SuppressLint("SetJavaScriptEnabled")
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


WebDimrah  = (WebView)findViewById(R.id.WebView1);
WebSettingDimrah  = WebDimrah.getSettings() ;
WebDimrah.getSettings().setJavaScriptEnabled(true);

WebDimrah.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

handler.proceed();

      }
   });
 WebDimrah.loadUrl("https://facebook.com");

} 

此外,在您的 Android.xml 文件(清单)中添加以下行: android:usesCleartextTraffic="true" 在 ... 标签内。