我有一个自定义的Chronometer,可以扩展TextView并用作秒表。使用此计时器的活动正在侦听来自服务的广播。在这个广播中,服务告诉活动(以及计时器)停止计数。这在将应用程序保持在前台时工作正常。
但是,当活动未激活时(如用户按下主页按钮),活动不会进行广播,而计时器会继续计数。因此,当我再次打开活动时,计时器仍在计数,当它不应该是。
谁可以为我提供解决方案?
注意:本服务对活动和计时器没有任何了解。它只是发送一个广播“嘿,我完成了我正在做的任何事情!”。
答案 0 :(得分:1)
应使用startForeground(int id, Notification notification);
顺便说一下,您的BroadcastReceiver
不应在您的活动中取消注册。使用意图过滤器COUNTDOWN_STOP
或其他任何内容将其添加到清单中,以实现此目的。