我们知道Android程序中Context分成两种。一种是Activity Context,另一种是Application Context。通过Activity Context来启动另一个程序代码是很简单。代码如下
<span style="font-size:18px;"> Intent intent = new Intent(this, TestActivity.class);
startActivity(intent);</span>
但是如果通过Application Context来启动Activity的话。就需要FLAG_ACTIVITY_NEW_TASK属性,不管这个Activity是属于其他程序还是自己这个程序的。<span style="font-size:18px;">Intent intent = new Intent(new Intent(this, TestActivity.class));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyApplication.getContext().startActivity(intent);</span>
Activity的Context是没有所属Task的,所以必须新建Task.这样的话会把启动的程序放到一个新的TASK中。