If the application is a non-system application, it must have an Intent running through which it can be launched. If the launch target is null, then this is a system application.
Example system applications: "com.android.browser.provider", "com.google.android.voicesearch".
In the above applications, you will get NULL when prompted to run Intent.
PackageManager pm = getPackageManager(); List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); for(ApplicationInfo packageInfo:packages){ if( pm.getLaunchIntentForPackage(packageInfo.packageName) != null ){ String currAppName = pm.getApplicationLabel(packageInfo).toString();
source share