首页 > 移动平台 > 详细

app启动其他应用

时间:2015-07-18 00:30:20      阅读:157      评论:0      收藏:0      [点我收藏+]

因开发需要内包一个app,所以要启动一个app,这种操作 如果知道包名和类名 其实很简单 只需要将包名内嵌即可(一般情况 我们都可以解压或者反接拿到) 

代码如下:

Intent intent = new Intent(Intent.ACTION_MAIN);  // 必须要设置这两项 不然找不到  
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
//设置包名 和类名 ComponentName mComponentName = new ComponentName("com.kukum.mynews", "com.kukum.android.SplashActivity"); intent.setComponent(mComponentName); startActivity(intent);

   但是如果确实不知道类名 ,则需要先根据包名获取包信息 然后拿到启动类 进行跳转 代码如下

        // 创建一个该包名相同的类别CATEGORY_LAUNCHER的Intent
		Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
		resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
		resolveIntent.setPackage("com.kukum.mynews");

		// 通过getPackageManager()的queryIntentActivities方法遍历  
		List<ResolveInfo> resolveinfoList = getPackageManager()
				.queryIntentActivities(resolveIntent, 0);
		// 因为有category 和action 关联 所以启动类只有一个 如果有的话 就是启动类
		ResolveInfo resolveinfo = resolveinfoList.iterator().next();
		if (resolveinfo != null) {
			String className = resolveinfo.activityInfo.name;
			Intent intent = new Intent(Intent.ACTION_MAIN);
			intent.addCategory(Intent.CATEGORY_LAUNCHER);
			ComponentName mComponentName = new ComponentName("com.kukum.mynews", className);
			intent.setComponent(mComponentName);
			startActivity(intent);
		}

  搞定

  

 

app启动其他应用

原文:http://www.cnblogs.com/kukum/p/android20150718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!