2012-07-06 59 views
1

我派了任务(活动)与备份:把任务前面小窗口点击

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    moveTaskToBack(true); 
} 

但我需要通过setOnClickPendingIntent在小部件把它前面。

回答

2

刚开始的主(根)应用程序的这样的活动:

Intent intent = new Intent(context, MainActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(intent); 

如果该活动已在任务中运行,这将只是把这个任务给前台(不创建任何新的实例的活动)。如果该活动尚未运行,那么这将启动一个新的任务,并在该根目录下执行该活动。

+0

我也通过在清单中添加(android:launchMode =“singleInstance”)来执行它。 – 2012-07-07 21:40:52

+1

单个实例通常是一个坏主意。这仅适用于家庭屏幕替换。你可能不需要那个。如果它已经作为现有任务的根目录运行,则Android不会创建另一个活动实例。除非您正在开发HOME屏幕,否则使用singleInstance可能会带来更多麻烦而不是益处。 – 2012-07-08 09:17:58

+0

非常感谢 – 2012-07-09 20:31:17

1

在我的情况下,FLAG_ACTIVITY_NEW_TASK没用。它会重新创建活动,但活动存在于任务中。

但singletask launchmode运作良好。

相关问题