Oreo 中的 Webview 不起作用 [英] Webview in Oreo not working

查看:24
本文介绍了Oreo 中的 Webview 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Oreo 8 中打开网络视图时出现此错误.设备是 Google Pixel.请帮助我.如果您需要任何其他信息,请告诉我.

I am getting this error while opening a webview in Oreo 8. The device is Google Pixel. Kindly help me with the same. Please let me know if you need any additional information.

进程:com.android.chrome:sandboxed_process0,PID:16787android.content.res.Resources$NotFoundException: 数组资源 ID #0x7f030010在 android.content.res.Resources.obtainTypedArray(Resources.java:617)在 android.content.res.Resources.preloadFonts(Resources.java:379)在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5815)在 android.app.ActivityThread.-wrap1(未知来源:0)在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)在 android.os.Handler.dispatchMessage(Handler.java:105)在 android.os.Looper.loop(Looper.java:164)在 android.app.ActivityThread.main(ActivityThread.java:6541)在 java.lang.reflect.Method.invoke(Native Method)在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)在 com.android.internal.os.WebViewZygoteInit.main(WebViewZygoteInit.java:121)

Process: com.android.chrome:sandboxed_process0, PID: 16787 android.content.res.Resources$NotFoundException: Array resource ID #0x7f030010 at android.content.res.Resources.obtainTypedArray(Resources.java:617) at android.content.res.Resources.preloadFonts(Resources.java:379) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5815) at android.app.ActivityThread.-wrap1(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.WebViewZygoteInit.main(WebViewZygoteInit.java:121)

    WebSettings settings = binding.landingWb.getSettings();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        settings.setSafeBrowsingEnabled(true);
    }
    //binding.loader.setVisibility(View.GONE);
    settings.setJavaScriptEnabled(true);
    binding.landingWb.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    binding.landingWb.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url != null) {
                if (url.startsWith("whatsapp://")) {
                    view.getContext().startActivity(
                            new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                    return true;
                } else {
                    view.loadUrl(url);
                    return true;
                }

            } else {
                binding.loader.setVisibility(View.GONE);
                return false;
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            binding.loader.setVisibility(View.GONE);
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Log.d(TAG, "onReceivedError() called with: view = [" + view + "], errorCode = [" + errorCode + "], description = [" + description + "], failingUrl = [" + failingUrl + "]");
            binding.loader.setVisibility(View.GONE);
        }
    });
    binding.landingWb.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            super.onProgressChanged(view, newProgress);
            Log.e("CompetitionActivity","Progress:  " + newProgress);
        }
    });
    binding.landingWb.loadUrl(url);

推荐答案

通过移除来移除字体的预加载

Remove the preloading of fonts by removing

<meta-data 
    android:name="preloaded_fonts" 
    android:resource="@array/preloaded_fonts" />   

这篇关于Oreo 中的 Webview 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆