网页不可用,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)```
您需要override
WebViewClient
的onReceivedSslError()
方法才能显示网页。您的代码应该如下所示:
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"
在 ... 标签内。
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)```
您需要override
WebViewClient
的onReceivedSslError()
方法才能显示网页。您的代码应该如下所示:
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"
在 ... 标签内。