【问题标题】:Detecting when application becoming active coming from background检测应用程序何时从后台变为活动状态
【发布时间】:2021-11-04 11:08:34
【问题描述】:

当我的应用程序从后台返回时,它会转到最后一个活动(屏幕)。
我希望它改为转到主屏幕 - 我怎样才能做到这一点?
或者,当整个应用程序(不是活动)从后台到前台时如何检测事件?

【问题讨论】:

    标签: android


    【解决方案1】:

    如果您正在构建“可运行”,您可以覆盖 onPauseonResume

    【讨论】:

    • 您所指的实际上是“活动”。
    • onRestart 回调怎么样。只有当您的活动恢复正常时才会调用它。我认为我们可以将其用于检测。
    【解决方案2】:

    可以通过多种方式更改正常任务的“堆栈”行为,但并不简单。有些选项可以通过 startActivity() 标志实现,有些选项可以通过清单的 <activity> 元素的属性实现。有些两种方式都可用,有些则不可用。有些只有在与其他人结合时才起作用,有些人在与其他人结合时会改变行为。我对这些功能感到非常困惑。

    幸运的是this简单的选项可能是您感兴趣的。

    【讨论】:

      【解决方案3】:

      您可以尝试在该活动的onPause() 方法上调用finish(),该活动在将应用程序置于前台时正在恢复。这将完成该活动,现在您的家庭活动将在活动堆栈中位于顶部,并在恢复到前台时首先显示。

      【讨论】:

      • 谢谢,它可能有效,但我正在寻找一些应用程序级别的代码。你的建议我必须在每项活动中实施。最重要的是,我必须检查应用程序是否只是在其自己的活动/屏幕之间导航,在这种情况下我不想“完成()”,或者整个应用程序进入后台
      • humm 你可以试试这个FLAG_ACTIVITY_REORDER_TO_FRONT(文档描述的正是你想要的)developer.android.com/reference/android/content/…
      猜你喜欢
      • 2016-04-22
      • 2013-10-27
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      相关资源
      最近更新 更多