Android如何做到应用程序图标隐藏,由第三方程序显示启动

在AndroidManifest.xml中做如下修改


<intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.DEFAULT"/>
  </intent-filter>

 

在第三方程序中如下调用


Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.test.app",
           "com.test.app.MainActivity"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);


其中com.test.app为应用程序包名,而com.test.app.MainActivity为你所要启动的第一个Activity


亦可如此:

public boolean startApp(String packageName) {
		  Intent intent = new Intent(Intent.ACTION_MAIN, null);
		  intent.addCategory(Intent.CATEGORY_DEFAULT);
		  PackageManager pm = getPackageManager();
		  List<ResolveInfo> listInfos = pm.queryIntentActivities(intent, 0);
		  String className = null;
		  for (ResolveInfo info : listInfos) {
		   if (packageName.equals(info.activityInfo.packageName)) {
		    className = info.activityInfo.name;
		    break;
		   }
		  }
		  if (className != null && className.length() > 0) {
		   intent.setComponent(new ComponentName(packageName, className));
		   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
		     | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
		   startActivity(intent);
		   return true;
		  }
		  return false;
		 }


你可能感兴趣的:(android,图标隐藏,第三方启动)