How can I find if a particular package exists on my Android device? How can I find if a particular package exists on my Android device? android android

How can I find if a particular package exists on my Android device?


Call any of the below method with the package name.

import android.content.pm.PackageManager;// ...    public boolean isPackageExisted(String targetPackage){        List<ApplicationInfo> packages;        PackageManager pm;        pm = getPackageManager();                packages = pm.getInstalledApplications(0);        for (ApplicationInfo packageInfo : packages) {            if(packageInfo.packageName.equals(targetPackage))                return true;        }        return false;    }

 import android.content.pm.PackageManager; public boolean isPackageExisted(String targetPackage){   PackageManager pm=getPackageManager();   try {     PackageInfo info=pm.getPackageInfo(targetPackage,PackageManager.GET_META_DATA);   } catch (PackageManager.NameNotFoundException e) {     return false;   }     return true; }


Without using a try-catch block or iterating through a bunch of packages:

public static boolean isPackageInstalled(Context context, String packageName) {    final PackageManager packageManager = context.getPackageManager();    Intent intent = packageManager.getLaunchIntentForPackage(packageName);    if (intent == null) {        return false;    }    List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);    return list.size() > 0;}


Kotlin

fun isPackageExist(context: Context, target: String): Boolean {     return context.packageManager.getInstalledApplications(0).find { info -> info.packageName == target } != null}