2017-02-21 9 views
3

私はライセンス付きWebView画面を持っています。ユーザーがAndroid 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(); 
} 

}

私はそれが何かをロードする(GoogleのURLはshouldOverrideUrlLoading方法で表示されます)が、それは何も示していないことがわかります。 エラーログは表示されません。

このコードは、< 7.0のAndroid搭載端末で完全に動作します。 Android 7+はChromeを使用して画面を表示していますが、問題を解決するために追加する必要はありませんでした。

ありがとうございます!

答えて

11

Androidのドキュメントから

これは、ホストアプリケーションが現在のWebViewを残すことを望んでいる場合、これは@return

  • アンドロイドN以来Trueの前のAndroid N

    @Deprecated 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        return false; 
    } 
    

    ある

    • とハンドルt彼自身はURLを返し、それ以外の場合はfalseを返します。このような理由のためにあなたがあなたの問題を解決する必要がfalseを返すだけのAndroid N. でこの問題を持っているので、
    @Override 
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
         return true; 
        } 
    

この方法では、AndroidのNからです。

+0

ありがとうございます、私はこれらの方法の解読を誤解しています。 Falseは正しい値です。 trueは、そのアプリケーションが処理されたURLを意味します – Dmytro

+0

こんにちは、私はGoogleのピクセルを使用しています。私は同じ問題に直面しているとあなたのコメントごとに私は私のクロームアプリを更新しているが、まだ同じ問題の顔。他の解決策に私に返信してください。前もって感謝します。 –

+0

この変更作業 –

関連する問題