AndroidStudioのWebViewでステータスコード
AndroidStudioでWebviewでステータスコードを取得するために参考サイトを見てコードを書いたのですがアプリが途中で落ちてしまいます。どうしたらアプリが落ちないようになるでしょうか？

参考  
<http://saki0n.blogspot.jp/2013/04/android-webview.html>

```

    public class MainActivity extends AppCompatActivity {
    
        private TextView textView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            WebView myWebView = (WebView) findViewById(R.id.webView);
            textView = (TextView) findViewById(R.id.textView);
            //myWebView.setWebViewClient(new WebViewClient());
            myWebView.setWebViewClient(new WebViewClient() {
                @TargetApi(Build.VERSION_CODES.HONEYCOMB)
                @Override
                public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
                    if (!url.matches("https?://[\\w\\.\\-]+(/.*)?")) {
                        return super.shouldInterceptRequest(view, url);
                    }
                    HttpGet req = new HttpGet(url);
                    DefaultHttpClient client = new DefaultHttpClient();
                    String mimeType = null, encoding = null;
                    byte[] data = null;
                    try {
                        HttpResponse res = client.execute(req);
                        // ここでステータスコードを取得できるよ!
                        if (HttpStatus.SC_OK == res.getStatusLine().getStatusCode()) {
                            HttpEntity entity = res.getEntity();
                            Header mimeHeader = entity.getContentType();
                            textView.setText(res.getStatusLine().getStatusCode());
                            if (null != mimeHeader) mimeType = mimeHeader.getValue();
                            Header encodingHeader = entity.getContentEncoding();
                            if (null != encodingHeader) encoding = encodingHeader.getValue();
                            data = EntityUtils.toByteArray(entity);
                        }
                    } catch (Exception e) {
                        String msg = e.getMessage();
                        Log.e(this.getClass().getSimpleName(), (null != msg) ? msg : "");
                    } finally {
                        req.abort();
                        client.getConnectionManager().shutdown();
                    }
                    InputStream stream = new ByteArrayInputStream(data);
                    return new WebResourceResponse(mimeType, encoding, stream);
                }
            });
            myWebView.loadUrl("https://www.google.com/");
        }
    }
    
```
関係のある部分だけ抜粋します。

```

    byte[] data = null;
    try {
        if (HttpStatus.SC_OK == res.getStatusLine().getStatusCode()) {
            data = EntityUtils.toByteArray(entity);
        }
    }
    InputStream stream = new ByteArrayInputStream(data);
    
```

なので statusCode 200 以外では data == null です。  
エラーログがないのでココが原因かは特定できませんが参考になるかと思います。