我派了任务(活动)与备份:把任务前面小窗口点击
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
moveTaskToBack(true);
}
但我需要通过setOnClickPendingIntent在小部件把它前面。
我派了任务(活动)与备份:把任务前面小窗口点击
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
moveTaskToBack(true);
}
但我需要通过setOnClickPendingIntent在小部件把它前面。
刚开始的主(根)应用程序的这样的活动:
Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
如果该活动已在任务中运行,这将只是把这个任务给前台(不创建任何新的实例的活动)。如果该活动尚未运行,那么这将启动一个新的任务,并在该根目录下执行该活动。
在我的情况下,FLAG_ACTIVITY_NEW_TASK没用。它会重新创建活动,但活动存在于任务中。
但singletask launchmode运作良好。
我也通过在清单中添加(android:launchMode =“singleInstance”)来执行它。 – 2012-07-07 21:40:52
单个实例通常是一个坏主意。这仅适用于家庭屏幕替换。你可能不需要那个。如果它已经作为现有任务的根目录运行,则Android不会创建另一个活动实例。除非您正在开发HOME屏幕,否则使用singleInstance可能会带来更多麻烦而不是益处。 – 2012-07-08 09:17:58
非常感谢 – 2012-07-09 20:31:17