如何在自己的app中通过包名启动其他的app

最近在做关于机顶盒的应用,经常遇到启动界面通过按钮跳转到其他app的情况,这里把如何实现分享出来
public Intent panduan_apps_to_list_all(String baoName) {

		int saomiao = 0;
		PackageManager pm = this.getPackageManager(); // 获得PackageManager对象
		Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
		mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
		// 通过查询,获得所有ResolveInfo对象.
		// wjz GET_UNINSTALLED_PACKAGES:所有的程序吧,包括SD卡
		// MATCH_DEFAULT_ONLY:只是系统程序
		List<ResolveInfo> resolveInfos = pm.queryIntentActivities(mainIntent,
				PackageManager.GET_UNINSTALLED_PACKAGES);
		// 调用系统排序 , 根据name排序
		// 该排序很重要,否则只能显示系统应用,而不能列出第三方应用程序
		Collections.sort(resolveInfos,
				new ResolveInfo.DisplayNameComparator(pm));
		int len = resolveInfos.size();

		for (ResolveInfo reInfo : resolveInfos) {
			saomiao++;
			String activityName = reInfo.activityInfo.name; // 获得该应用程序的启动Activity的name
			String pkgName = reInfo.activityInfo.packageName; // 获得应用程序的包名
			String appLabel = (String) reInfo.loadLabel(pm); // 获得应用程序的Label

			// Drawable icon = reInfo.loadIcon(pm); // 获得应用程序图标
			if (pkgName.equals(baoName)) {
				// 为应用程序的启动Activity 准备Intent
				Intent launchIntent = new Intent();
				launchIntent.setComponent(new ComponentName(pkgName,
						activityName));
				return launchIntent;
			}
		}
		return null;
	}
可以直接调用返回的intent来实现跳转!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值