起動可能なアプリ一覧を調べる方法

PackageManagerを使うと次のようにして端末にインストールされているアプリのパッケージ情報の一覧を調べることができます。

PackageManager pm = getPackageManager();
List<PackageInfo> pckInfoList = pm.getInstalledPackages(
        PackageManager.GET_ACTIVITIES | PackageManager.GET_SERVICES);
for(PackageInfo pckInfo : pckInfoList){
    /// ...処理
}

これでインストールされているパッケージについては調べることができます。

しかし調べたパッケージにたとえActivityが含まれていたとしても起動可能かどうかという所までは判断できません。

そこでそれを判断するにはgetLaunchIntentForPackageメソッドを使います。

PackageManager pm = getPackageManager();
List<PackageInfo> pckInfoList = pm.getInstalledPackages(
        PackageManager.GET_ACTIVITIES | PackageManager.GET_SERVICES);
for(PackageInfo pckInfo : pckInfoList){
    if(pm.getLaunchIntentForPackage(pckInfo.packageName) != null){
    	///起動可能な時の処理
    }else{
        ///起動不可の時の処理
    }
}

getLaunchIntentForPackagenullが返って来なければ起動可能なActivityが含まれているのでアプリも起動可能、もしnullなら起動できないアプリだということが判断できます。

関連項目
プライバシーポリシー