見出し画像

オンラインの PDF ファイルを URL から表示する(ダウンロードせずに)|Android Kotlin 実践勉強会

オンラインに保存された PDF ファイル」を、Android 端末内にダウンロードせずに、URL の情報から表示する方法です。

private fun openPdfFromUrl(url: String) {
    Intent(Intent.ACTION_VIEW).apply {
        setDataAndType(Uri.parse(url), "application/pdf")
    }.also { intent ->
        openPdfFromIntent(intent)
    }
}

private fun openPdfFromIntent(intent: Intent) {
    intent.resolveActivity(packageManager)?.run {
        startActivity(intent)
    } ?: Toast.makeText(
        context,
        "No Application found to open the PDF",
        Toast.LENGTH_LONG
    ).show()
}

但し、これは外部アプリを起動する方法なので、Android 端末内に PDF リーダーに類するアプリがインストールされていなければ、表示することはできません。


ですので、以下の、WEB ブラウザで PDF を表示する方法も有用です。

private fun openPdfByGoogleDrive(url: String) {
    Intent(Intent.ACTION_VIEW).apply {
        data = Uri.parse("http://docs.google.com/viewer?url=$url")
    }.also { intent ->
        openPdfFromIntent(intent)
    }
}

WEB ブラウザを経由して、最終的に Google ドライブGoogle ドキュメントととして表示されます。

この方法だと、Android 端末内に Google Chrome がインストールされていれば PDF を表示できますので、ユーザは事前に PDF リーダーの類をインストールしておく必要がなくなります(多くの場合、デフォルトで Android 端末内には Google Chrome がインストールされているはずです)。


コーヒーブレイクに『妹のおシゴトは時給2000円』をオススメ!

「妹」に限らず、お金で「母」も「父」も、擬似家族を集めて生活するギャグ漫画です。バカバカしくて気楽に笑えるので、シゴトの疲れもきっと吹き飛びます。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?