【问题标题】:Android - Close app when home key is pressedAndroid - 按下主页键时关闭应用程序
【发布时间】:2012-11-03 06:57:39
【问题描述】:

我制作的这个应用程序运行良好,但是当我离开应用程序并再次打开它时,它总是强制关闭。我怎样才能做到这一点,当用户按下主页和/或返回键时,它会终止应用程序进程?

让它在应用再次打开时重新开始。

【问题讨论】:

  • 尝试覆盖onuserleavehint,因为当用户按下主页键时会调用此方法
  • 好的,你能给我任何示例代码吗?那会是什么样子?
  • 为什么不直接修复导致强制关闭的错误?

标签: android eclipse sdk


【解决方案1】:

您不应该“终止进程”。您应该通过 onPause()onResume() 方法处理主页按钮按下和其他此类从您的应用程序中导航的交互。

在您的onPause() 方法中,您应该保存应用的状态。这可以包括将其保存在 Bundles、SharedPreferences、sqlite 或任何适合您的应用的持久性形式。

在您的onResume() 方法中,您应该恢复您的应用程序的状态,以便给用户一种什么都没有改变的错觉。

这就是 android 处理多任务处理的方式,这也是您必须在您的应用程序中适应它的方式,以有效和可靠地使您的应用程序适应 android 框架。

我建议您先在这里阅读活动生命周期指南:

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

更多关于暂停和恢复活动的详细信息:

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

此外,您可能想在此处阅读有关数据存储选项的信息:​​

http://developer.android.com/guide/topics/data/data-storage.html

【讨论】:

  • 嘿,所以我看到 onDestroy() 我不能用它来终止进程。我真的很想在我离开时重新启动那个应用程序
  • 如果您愿意,可以在 onPause() 中调用 finish() 来终止活动。当用户返回您的应用时,Activity 将重新启动。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多