【问题标题】:Android: can I launch a new activity onHomePressed, juts like onBackPressed?Android:我可以像 onBackPressed 一样在 ComPressed 上启动一个新活动吗?
【发布时间】:2017-05-04 22:51:42
【问题描述】:

在 Android 中,您可以 @Override onBackPressed 并启动一个新的 Intent 来启动一个活动。

出于某种原因,在 OnBackPressed 中,您可以很好地启动意图,然后启动新活动;但是如果我要在默认的 @Override onPause 方法中启动一个新的意图,那么在我再次打开我的应用程序之前,新的活动在技术上不会启动。

有没有办法让主页按钮在应用调用 onPause 之前启动我的第二个活动?

【问题讨论】:

标签: android android-intent android-lifecycle


【解决方案1】:

你要问的基本上是:
我可以确保用户永远不会离开我的应用程序吗?

答案是否定的。

存在一些限制,例如,您不能覆盖 Home 按钮按下,当用户在任何生命周期回调(onPause、onStop、onDestroy 等)中按下 Home 按钮时,您不能启动新活动

【讨论】:

  • 我可以看到恶意意图是如何被观察到的,即使我并没有试图确保用户不能离开应用程序。我只是想确保新活动已启动并在后台运行,而不是第一个活动在后台运行,第二个活动在下一个应用程序打开时开始。
  • 答案是否定的,是同一个概念。进入后台时,您无法开始新的活动。为什么您非常需要在后台启动此活动?它会做任何在后台运行的事情吗?如果是这样,它绝对不应该,你应该使用服务(或类似的)来代替。与其试图绕过它,不如解决核心问题,即为什么需要在后台运行此活动。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多