Android将任务带到前面

时间:2010-11-26 22:16:28

标签: android android-activity task foreground

我有主要活动+服务。服务正在调用第二个活动。 - 如果main在前台,一切都很好。第二个是在主要开放之上。 - 如果我通过“后退”按钮关闭主,则在桌面上方打开第二个。这很酷。 - 但是当我通过切换到桌面关闭main(按“主页”按钮),然后第二个活动打开不可见,只有当你切换到应用程序的任务时才能看到它。

如果app在后台,你可以帮助我将我的任务移到前台吗? 我尝试将第二个活动作为新任务,但这没有帮助。

3 个答案:

答案 0 :(得分:1)

将您的任务中的顶级活动标记为singleTask,而不是将任何意图发送到此活动,以便将所有任务转移到前台而不重新创建此活动

答案 1 :(得分:1)

听起来很像我遇到的问题。看着: http://groups.google.com/group/android-developers/browse_thread/thread/183340108cb847fd

您可以尝试设置任务的亲和力,例如:

<activity android:name="activity_two" android:taskAffinity=""></activity>

在你的AndroidManifest.xml中(同时让活动成为自己的任务,就像你提到的那样)。

如果您不希望其他活动在最近的历史记录列表中显示为单独的任务, 你也可以添加:

android:excludeFromRecents="true"

清单中的活动。

答案 2 :(得分:1)

本问题中提到的完全相同的问题。

使用以下代码段解决了这个问题。 i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);这将活动带回了前方。

Intent i=new Intent(ApplicationStatus.this,NotifyActivity.class);
                    //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//optional
                    i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//will cause it to come to foreground
                    i.putExtra("ID_TimeLeft",String.valueOf(TimeLeft));
                    startActivity(i);