Oreo 8でWebviewを開いているときにこのエラーが発生します。このデバイスはGoogle Pixelです。親切にも同じことを私に助けてください。追加情報が必要な場合はお知らせください。OreoのWebviewが動作しない
プロセス:com.android.chrome:sandboxed_process0、PID:16787 android.content.res.Resources $ NotFoundException:アレイのリソースID番号android.content.res.Resources.obtainTypedArrayで0x7f030010 (Resources.java :617) android.app.ActivityThread.-WRAP1(不明なソースでandroid.app.ActivityThread.handleBindApplication(ActivityThread.java:5815) でandroid.content.res.Resources.preloadFonts(Resources.java:379) で: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) at java.lang.reflect.Method com.android.internal.os.WebViewZygoteInit.mainでcom.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240) (WebViewZygoteInit.java:121)
で.invoke(ネイティブメソッド)
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);
あなたのwebviewコードを共有します。 –
私はコードを追加しました。 –