【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}
上のようにすることで、起動可能なアプリ一覧を出力することができます。
今回はインストール済みの起動可能なアプリを取得する方法について紹介しました。以上で記事を終わりにします。