Use the following code for getting all application names installed on device in List. And you can query the list by name.
PackageManager pm = this.getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List list = pm.queryIntentActivities(mainIntent , PackageManager.PERMISSION_GRANTED);
for (ResolveInfo rInfo : list) {
results.add(rInfo.activityInfo.applicationInfo
.loadLabel(pm).toString());
Log.w("Installed Applications Names", rInfo.activityInfo.applicationInfo
.loadLabel(pm).toString());
}