【发布时间】:2011-04-12 14:36:26
【问题描述】:
我有一个基本上启动 CountDownTimer 的活动。我需要它在使用其他 Android 应用程序(例如 Gmail 和媒体播放器等)时继续运行。
当我点击返回按钮时,我的 Activity 似乎退出了。当用户单击返回/主页键等时,我需要做些什么来保持它运行。
【问题讨论】:
标签: android android-activity back android-homebutton
我有一个基本上启动 CountDownTimer 的活动。我需要它在使用其他 Android 应用程序(例如 Gmail 和媒体播放器等)时继续运行。
当我点击返回按钮时,我的 Activity 似乎退出了。当用户单击返回/主页键等时,我需要做些什么来保持它运行。
【问题讨论】:
标签: android android-activity back android-homebutton
您必须使用服务,您可以阅读文档here。
【讨论】:
活动在不可见时不应该做任何事情。它们基本上是 UI 组件。
您应该查看services。这些可以作为后台进程运行并且不包含 UI。
【讨论】:
一些开发人员将其称为严重的“hack”,但我已成功检查是否按下了后退按钮,以便成功清理我的项目。我最近将大部分代码移至onPause() 事件,因为它在按下后退按钮后应用程序关闭之前被调用。但是,如果它真的是你想要的,那就是你的程序,这是我使用的代码:
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
killAndReturnParams(0);
}
同样,这个方法之前已经被讨论过了,但我很确定这是因为你不应该以任何理由覆盖后退按钮。用户应该能够在任何应用程序中的任何时候使用后退按钮返回。
【讨论】:
@Override
public void onBackPressed() {
mActivity.moveTaskToBack(true);
}
【讨论】: