如何在安卓系统中将一个活动置于前台?

4

我正在使用moveTasktoBack()函数将我的活动发送到后台。 当我的活动计时器结束时,我想将我的活动带到前面。我正在使用手机的返回键将活动发送到后台。我该如何做?请帮忙。


1
在这里回答:https://dev59.com/KnE95IYBdhLWcg3wm_Qu - Eric Schlenz
@EricSchlenz,实际上那个链接讨论的是如何在任务中重新排列活动。这并不能解决OP的问题。他想知道如何将后台的任务调至前台。 - David Wasser
要将任务置于前台,请参见https://dev59.com/Donda4cB1Zd3GeqPF_GI#29769255。 - David Wasser
为什么有那么多令人困惑的答案!每个意图标志都有不同的含义和目的。 - Shubham AgaRwal
3个回答

4

这是一个与该问题完全相同的问题。

使用以下代码片段解决它。 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);
                    i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
                    i.putExtra("ID_TimeLeft",String.valueOf(TimeLeft));
                    startActivity(i);

2

0

您可以使用适当的标志intent。如果不存在任务,则使用FLAG_ACTIVITY_NEW_TASK创建一个新任务来包含您的活动。FLAG_ACTIVITY_REORDER_TO_FRONT将您的活动带到任务的前面,如果它还没有在那里。

Intent intent = new Intent(context, YourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接