final PackageManager packageManager = getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// get all apps
final List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);
ResolveInfo appInfo = (ResolveInfo)parent.getItemAtPosition(position);
Intent mainIntent = mContext.getPackageManager().getLaunchIntentForPackage(appInfo.activityInfo.packageName);
PackageManager pm = mContext.getPackageManager();
Log.i("mylog", "name"+appInfo.activityInfo.loadLabel(pm).toString());
mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
// launcher the package
mContext.startActivity(mainIntent);
} catch (ActivityNotFoundException noFound) {
Toast.makeText(mContext, "Package not found!", Toast.LENGTH_SHORT).show();
}