我正在为Android制作一个警报应用程序。一旦用户安排了警报,线程将计数直到达到警报,然后会发出警报声。
然而,当设备被锁定时,计数线程停止(我的意思是当屏幕在半分钟后关闭时)并且如果它再次解锁则从它离开的地方继续 - 即使这是几小时后。
这是一个非常奇怪的警报应用程序。我已经研究过AlarmManager,但在我看来这似乎并不合适,因为我只希望闹钟发生如果我的应用程序仍在运行。退出应用程序应该停止它。以下是AlarmManager的文档所说的内容:
注意:警报管理器是预期的 如果你想拥有你的 应用程序代码运行在特定的 时间,即使你的申请没有 目前正在运行正常时间 操作(滴答,超时等) 更简单,更有效率 使用Handler。
它提到的“处理程序”类似乎是为了与我想要实现的完全不同的东西。
所以我问你:即使设备被锁定,我如何保持线程活着并计数?或者还有另一种方式吗?
答案 0 :(得分:2)
你不必不这样做。不要留下线程报警。使用AlarmManager
此外,您的应用程序没有“正在运行”的概念。你的意思是只有当它可见时?只需清除onPause()中的闹钟即可。
答案 1 :(得分:0)
为什么不使用通知?您可以在状态栏中设置声音,振动,灯光和显示图标。如果要取消通知,请使用NotificationManager。
http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CreateANotification
Geert