2017-11-29 6 views
2

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); 
+0

귀하의 webview 코드를 공유하십시오. –

+0

코드를 추가했습니다. –

답변

4

것은

를 제거하여 글꼴의 미리로드를 제거
+0

대단히 고마워요. 이 두 줄을 주석 처리 한 후 작동했습니다. –

0

이 잘 모르겠어요, 문제가 될 수 있습니다 .. 이에 대한 자세한 정보 조회 봅니다 ....

특징은 기본 웹보기로 크롬 웹보기를 설정하고 해제하는 안드로이드 누가에서 추가되었다 기본적으로 Android System WebView 앱입니다. 이 기능을 사용하면 사용하지 않을 때 Android System WebView의 리소스 사용 공간을 최소화하면서 사용자가 Chrome을 사용 중지하고 Chrome 이외의 웹보기로 되돌릴 수 있습니다.

여러 사용자가있는 Android Oreo 기기에서 Chrome이 모든 사용자에게 사용 설정되지 않은 경우 WebView를 호출 할 때 애플리케이션이 중단됩니다. 이 문제는 기본적으로 직장 프로필에 적용됩니다. 이러한 프로필에서는 Chrome이 기본적으로 사용 중지되어 있기 때문입니다.

관련 문제