2010-10-04 43 views
1

我有一个类本质上是一个消息管理器(单身),有一个计时器轮询状态。 (statusPollerTask仅仅是一个派生类的TimerTask的具有run()中定义)Android定时器停止运行

timer.scheduleAtFixedRate(this.statusPollerTask, 0, 1000); 

几项活动与MSG-人更新(观察者模式的风格),因为它们变得可见注册自己。工作正常,除非用户按Home按钮并最小化应用程序。有时候定时器会在其他时间不停地轮询。即使应用程序不可见,我也需要维护轮询。我觉得我只是在这里错过简单的东西。任何帮助表示赞赏!

回答

2

您应该使用Alarm Manager

这个类将确保您的活动被称为即使他们被摧毁,他们将再次创建。

+0

对不起,我很困惑。我并不担心活动会在周围发生,有时计时器会停止在timertask的运行方法中定义的轮询。使用报警管理器,因为我需要喂它一个意图不想重新创建整个活动?或者我可以让它变成一种特定的方法吗? – bursk 2010-10-05 16:07:15

+0

您可以使用s广播reveiver它会像调用一个特定的方法 – Jason 2010-12-16 06:12:26

+0

@Jason我们是否仍然使用TimerTask?或者单独使用Alarm Manager?在后面的例子中,我怎样才能将用户界面与闹钟管理器同步(即当闹钟关闭界面时应该显示0:00)? – wannik 2014-01-21 22:29:57