【问题标题】:How to bring an activity to front in android?如何在android中将活动放在前面?
【发布时间】:2010-09-27 06:30:52
【问题描述】:

我正在使用 moveTasktoBack() 函数将我的活动发送到后台。 当我的活动中的计时器完成时,我想把我的活动放在前面。我正在使用手机返回键将活动发送回。我怎么做?请帮忙。

【问题讨论】:

  • @EricSchlenz 实际上该链接讨论了如何重新安排任务中的活动。这并不能解决 OP 的问题。他想知道如何将任务从后台带到前台。
  • 要将任务放在前面,请参阅stackoverflow.com/a/29769255/769265
  • 为什么这么多的答案让人困惑!当每个意图标志具有不同的含义和目的时。

标签: android


【解决方案1】:

与此问题中提到的完全相同的问题。

使用以下代码 sn-p 对其进行了优化。 i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); actauul 将活动带回到前面。

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】:

    我觉得应该是FLAG_ACTIVITY_SINGLE_TOP

    【讨论】:

      【解决方案3】:

      您可以将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);
      

      【讨论】:

        猜你喜欢
        • 2015-09-07
        • 2011-12-30
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        • 2013-10-09
        • 2022-01-14
        相关资源
        最近更新 更多