Android Java WebViewでtarget=_blankのリンクを外部ブラウザで表示する

こんな感じ

        WebChromeClient chromeClient = new WebChromeClient() {
            public boolean onCreateWindow (WebView view,
                                           boolean isDialog,
                                           boolean isUserGesture,
                                           Message resultMsg) {
                Message href = view.getHandler().obtainMessage();
                view.requestFocusNodeHref(href);
                String url = href.getData().getString("url");

                view.stopLoading();
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);
                return true;
            }
        };

        webView.getSettings().setSupportMultipleWindows(true);
        webView.setWebChromeClient(chromeClient);

簡単に説明

URL取得して

                Message href = view.getHandler().obtainMessage();
                view.requestFocusNodeHref(href);
                String url = href.getData().getString("url");

外部ブラウザで表示

                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(browserIntent);

マルチウィンドウ許可

        webView.getSettings().setSupportMultipleWindows(true);

セット

        webView.setWebChromeClient(chromeClient);

THE☆雑