LoginSignup
4
0

More than 1 year has passed since last update.

【Android】WebViewを使ってWebページを表示する方法と端末内のブラウザで開く方法

Posted at

はじめに

Androidアプリの開発を行なっていて、利用規約やプライバシーポリシーのページなどをアプリ内で実装するのではなく、外部のWebページとして実装したい場合などはありませんか?

その場合に、どのようにリンクを端末内でひらけば良いのかを2種類の方法を使って紹介します。

この記事はJetpack Composeでの実装を考えている方向けの記事となっていますのでご了承ください。

WebViewを使う方法

Jetpack ComposeでWebViewを使うには、AndroidViewを使用します。

factory::WebViewを渡します。

レイアウトがインフレートされたupdateに指定したコールバックが呼び出されるので、loadUrl()を呼び出してURLを開きます。

AndroidView(
    factory = ::WebView,
    update = { webView ->
        webView.webViewClient = WebViewClient()
        webView.loadUrl(url)
    }
)

端末内のブラウザを使う方法

Jetpack Composeにおいて、外部URLをデフォルトのブラウザを使って開く場合にはUriHandlerを使います。

UriHandlerのインスタンスは、コンポーザブル内でLocalUriHandler.currentを使って取得します。

val uriHandler = LocalUriHandler.current
uriHandler.openUri(uiState.url)

まとめ

最初、ブラウザを使ってURLを開く場合にACTION_VIEWのインテントを作成する必要があるのかなと思っていたのですが、ものすごくかんたんに実装できることがわかりAndroidのありがたさをひしひしと感じました。

参考にした記事

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0