1.获取应用程序


mPackageManager = getPackageManager(); mAllPkgs = mPackageManager .getInstalledPackages(mPackageManager.GET_ACTIVITIES);
2.打开应用,如果应用已经存在于某个task,则切换到应用所在task,如果不存在,则重新打开


@Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { PackageInfo packageInfo = (PackageInfo) arg0.getItemAtPosition(arg2); boolean flg = false; List<RecentTaskInfo> mTasks = mActivityManager.getRecentTasks(MAX_TASK, 0); if (mTasks != null) { for (RecentTaskInfo rti : mTasks) { if (rti.baseIntent.getComponent().getPackageName() .equals(packageInfo.packageName)) { startActivity(rti.baseIntent); flg = true; break; } } } if (!flg) { Intent intent = mPackageManager .getLaunchIntentForPackage(packageInfo.packageName); startActivity(intent); } }
3.打开应用程序属性(Api level:9)


PackageInfo packageInfo = (PackageInfo) arg0.getItemAtPosition(arg2); Intent intent = new Intent( Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + packageInfo.packageName)); startActivity(intent);