2011-04-12 51 views
0

我有一个基本上启动CountDownTimer的活动。我需要使用其他Android应用程序(如Gmail和媒体播放器等)继续运行。如何在点击后退键时保持Android活动运行

当我点击后退按钮时,我的活动似乎已退出。当用户点击后/主键时,我需要做些什么来保持它运行。

回答

0

活动不应该做任何事情,当他们不可见时。他们基本上是UI组件。

您应该看看services。这些可以作为后台进程运行,不包含UI。

+0

这就是我的想法,但我仍然需要将格式化为小时,分钟和秒的剩余时间(毫秒)返回到UI。我没有完成这件事。 – Andrew 2011-04-12 19:52:34

+0

我试图把创建和启动计数器的方法放入一个服务中,并有一个按钮启动服务。我的理解是服务不应该具有UI访问权限,所以我不确定如何在用户的服务中运行定时器的剩余时间。如果我想说这一切都是错误的,不要害怕指出我正确的方向。 – Andrew 2011-04-12 19:54:54

+0

您可以在定期轮询该服务的活动中使用asynctask。或者在活动恢复时将活动特定计时器与服务同步。 – 2011-04-12 19:55:36

1


您必须使用服务,您可以阅读文档here

0

它被几个开发者称为严重的“黑客”,但我已经成功地检查了后退按钮,以便成功清理我的项目。我最近将大部分代码移到了onPause()事件中,因为它在应用程序按下后退按钮之前调用。但是,如果它是真的,你的愿望是什么,这是你的计划,这是我使用的代码:

if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
    killAndReturnParams(0);   
} 

同样,这种方法之前已经谈过了,但我敢肯定那是因为你不应该出于任何原因覆盖后退按钮。用户应该能够在任何应用程序中随时使用后退按钮返回。

0
@Override 
public void onBackPressed() { 
    mActivity.moveTaskToBack(true); 
} 
相关问题