`

android 获取系统中 已经安装和打开 app

阅读更多

//查询Android系统的所有具备ACTION_MAIN和CATEGORY_LAUNCHER的Intent的应用程序
PackageManager packageManager = getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// 本地的所有应用
final List<ResolveInfo> localApp = packageManager
.queryIntentActivities(mainIntent, 0);
android: 获取非系统app  
	
		final List<PackageInfo> packageInfos = packageManager
				.getInstalledPackages(0);

		List<PackageInfo> local_pkgInfoNoSys = new ArrayList<PackageInfo>();
		for (int i = 0; i < packageInfos.size(); i++) {
			PackageInfo packageInfo = packageInfos.get(i);
			// 获取 非系统的应用
			if ((packageInfo.applicationInfo.flags & packageInfo.applicationInfo.FLAG_SYSTEM) <= 0) {
				local_pkgInfoNoSys.add(packageInfo);
			}
			// 本来是系统程序,被用户手动更新后,该系统程序也成为第三方应用程序了
			else if ((packageInfo.applicationInfo.flags & packageInfo.applicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
				local_pkgInfoNoSys.add(packageInfo);
			}
		}



打开app应用
 方法一
		// 方法一 只能打开 xml中 有 android.intent.category.LAUNCHER 的应用
		 Intent mainIntent = getPackageManager().getLaunchIntentForPackage(packageName);
		 startActivity(mainIntent);

打开app的应用 方法二
		Intent mIntent = new Intent();
		ComponentName comp = new ComponentName(
				appIconInfo.getPackageInfo().packageName,
				"com.example.gamehall.AppActivity");
		mIntent.setComponent(comp);
		mIntent.setAction("android.intent.action.VIEW");
		startActivity(mIntent);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics