启动其他app

在实际开发中,常有需求在程序启动第三方APP,直接上代码:

	private void openOtherAPP(Context context, String packageName) {
		PackageManager pm = context.getPackageManager();
		try {
			PackageInfo pi = pm.getPackageInfo(packageName, 0);
			if (pi != null) {
				Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
				resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
				resolveIntent.setPackage(pi.packageName);
				List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
				ResolveInfo ri = apps.iterator().next();
				if (ri != null) {
					String pName = ri.activityInfo.packageName;
					String className = ri.activityInfo.name;
					Intent intent = new Intent(Intent.ACTION_MAIN);
					intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
					intent.addCategory(Intent.CATEGORY_LAUNCHER);
					ComponentName cn = new ComponentName(pName, className);
					intent.setComponent(cn);
					context.startActivity(intent);
				}
			}
		} catch (NameNotFoundException e) {
			e.printStackTrace();
		}
	}


 

启动其他app,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。