2017-02-21 6 views
3

라이센스가있는 WebView 화면이 있습니다. 사용자가 안드로이드 7 이상의 장치에 아무것도 표시하지 않을 때까지 모든 것이 완벽하게 작동했습니다.Android 7.0 이상에서 WebView가 페이지를 렌더링하지 않습니다.

public class DefaultWebActivity extends AppCompatActivity { 

WebView mWebView; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.default_web); 
    mWebView = (WebView) findViewById(R.id.web_view); 
    mWebView.setWebChromeClient(new WebChromeClient()); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.setWebViewClient(new WebViewClient() { 

     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      Log.w("WebActivity", "Error loading page " + description); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
      return true; 
     } 
    }); 
    mWebView.loadUrl("https://google.com/"); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    mWebView.onPause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    mWebView.onResume(); 
} 

}

내가 뭔가를로드 (구글 URL이 shouldOverrideUrlLoading 방법에 나타납니다)하지만 아무것도 표시되지 않습니다 것을 볼 수 있습니다. 오류 로그가 나타나지 않습니다.

이 코드는 < 7.0 안드로이드 버전 장치에서 완벽하게 작동합니다. Android 7+에서 Chrome을 사용하여 화면을 렌더링했지만 문제를 해결하기 위해 추가해야 할 부분이 없었습니다.

미리 감사드립니다. 안드로이드 문서에서

답변

11

이 사전 안드로이드 N

이 안드로이드 N은

  • @return이 호스트 응용 프로그램이 현재 웹보기를 떠나 진정한 원하는 경우 이후
    @Deprecated 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        return false; 
    } 
    

    입니다

    • 및 handle t 그는 자신을 url하고 그렇지 않으면 false를 반환합니다. 이런 이유로 당신이 당신의 문제를 해결해야 false를 반환에만 안드로이드 N. 에서이 문제를 그래서
@Override 
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
     return true; 
    } 

이 방법은 안드로이드 N에서입니다.

+0

감사합니다. 나는 이러한 방법의 설명을 오해합니다. 거짓은 올바른 값입니다. 사실 앱이 처리 한 URL을 의미합니다. – Dmytro

+0

안녕하세요, 저는 Google 픽셀을 사용하고 있습니다. 나는 똑같은 문제에 직면 해 있으며 귀하의 의견에 따라 업데이트 된 crome 앱은 있지만 여전히 동일한 문제의 얼굴입니다. 제발 다른 해결책을 회신 해주십시오. 미리 감사드립니다. –

+0

이 변경 작업 –