【Android】インストール済みの起動可能なアプリを取得する

【Android】インストール済みの起動可能なアプリを取得する
目次

KotlinでのAndroid開発でPackageManagerクラスを使い、インストール済みの起動可能なアプリを取得する方法を紹介します。

getLaunchIntentForPackageメソッドについて

PackageManagerクラスにあるgetLaunchIntentForPackageメソッドを使うことで、指定したアプリ(パッケージ)の起動用インテントを取得することができます。ここで、起動用インテントとは、アプリを起動するために必要なオブジェクトになります。

メソッドの書式は以下になります。

1val intent = packageManager.getLaunchIntentForPackage("com.example.app")

メソッドでは、指定したパッケージ名(アプリ)に対して、アプリがユーザーによって起動可能な場合は起動用インテントを返し、起動できない場合はnullを返します。

インストール済みの起動可能なアプリを取得する

例えば、起動可能なアプリ一覧を取得したい場合、以下のようにメソッドを活用することができます。

 1val pm = context.packageManager
 2val apps = pm.getInstalledApplications(PackageManager.GET_META_DATA)
 3
 4val launchableApps = apps.filter {
 5    pm.getLaunchIntentForPackage(it.packageName) != null
 6}
 7
 8launchableApps.forEach {
 9    val appName = pm.getApplicationLabel(it)
10    val packageName = it.packageName
11    Log.d("LaunchableApp", "$appName ($packageName)")
12}

上のようにすることで、起動可能なアプリ一覧を出力することができます。


今回はインストール済みの起動可能なアプリを取得する方法について紹介しました。以上で記事を終わりにします。

参考文献