Oreo 8에서 웹보기를 여는 중이 오류가 발생합니다.이 장치는 Google Pixel입니다. 친절하게 도와주세요. 추가 정보가 필요하면 알려주십시오.Oreo에서 웹보기가 작동하지 않습니다.
프로세스 : com.android.chrome:sandboxed_process0, PID : 16787 android.content.res.Resources $ NotFoundException : 배열 자원 ID 번호 android.content.res.Resources.obtainTypedArray에서 0x7f030010 (Resources.java : 617) android.content.res.Resources.preloadFonts (Resources.java:379) at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5815) android.app.ActivityThread.-wrap1 (알 수없는 출처 : 0) android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1661) android.os.Handler java.lang.reflect.Method에에서 android.app.ActivityThread.main (ActivityThread.java:6541) 에서 android.os.Looper.loop (Looper.java:164) 에서 .dispatchMessage (Handler.java:105) com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) com.android.internal.os.WebViewZygoteInit.main에서 에서 .invoke (기본 방법) (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);
귀하의 webview 코드를 공유하십시오. –
코드를 추가했습니다. –