新しいタブや新しいウィンドウの作成を要求された時、WebChromeClient.onCreateWindowが呼ばれる。
WebChromeClient | Android Developers
リンク先のURL情報などは、引数のWebViewオブジェクトインスタンスviewに渡されるが、ウィンドウの開き方によっては渡されない場合がある。
リンクに加えて、JavaScriptのwindow.openで新しいウィンドウを開くようなボタンを用意した。
リンク元はWebView.getUrlで、リンク先はWebView.getHitTestResult.getExtraで取得できる。
普通のリンクのリンク元。
普通のリンクのリンク先。
というように取得できる。
Button1を押した時のwindow.openのリンク元。
window.openのリンク先。
このように、window.openだとリンク先のURLが渡されない問題がある。