Android - 当按下Home键时关闭应用程序

3
我制作了一个应用程序,它运行良好,但是当我离开应用程序并再次打开时,它总是强制关闭。如何使用户按下主页键或返回键时可以杀死应用程序进程?让应用程序再次打开时具有全新的开始。

尝试覆盖 onuserleavehint 方法,因为当用户按下 Home 键时会调用此方法。 - ρяσѕρєя K
好的,你能给我一些示例代码吗?那会是什么样子的? - MoschDev
为什么不修复导致强制关闭的错误呢? - CommonsWare
1个回答

5
您不应该“杀掉进程”。您应该通过 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()方法,我能不能用它来杀死进程呢?当我离开应用程序时,我真的想重新启动它。 - MoschDev
如果您希望这样做,可以在onPause()中调用finish()来杀死活动(Activity)。当用户回到您的应用程序时,该活动将被重新启动。 - Anup Cowkur

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