【Android】WebViewの外部リンク

ローディング時に自サイトのドメインじゃなかったら(SNS等)問答無用でブラウザアプリで表示させます。

WebViewClientのshouldOverrideUrlLoading内で判断したいと思います。

いろんな方法がありましたが、このやり方が一番安定している。


スポンサーリンク





@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (Uri.parse(url).getHost().equals("ドメイン")) {
        // WebView内で表示する
        return false;
    }
    // 標準ブラウザで表示する
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);
    return true;
}

コピペで動くと思うので、そのままお使いください。

これくらい空で書けそうだけど。