gpt4 book ai didi

Android:如何让多个倒数计时器在后台工作?

转载 作者:行者123 更新时间:2023-11-29 15:18:37 24 4
gpt4 key购买 nike

我有一个应用程序,用户可以在其中创建多个倒计时闹钟。每一个都有自己的名字、计数时间、铃声等。

我扩展了 CountDownTimer 以保存每个警报设置并创建了一个单例管理器来管理所有警报。

在我离开应用程序之前一切正常。

计数器实际上并没有死。他们有一个奇怪的行为。启动计数器后:1)如果我按返回键直到主屏幕然后关闭屏幕电源,警报将按原样触发。2)如果我按下主页按钮然后关闭屏幕,它只会在我打开应用程序时触发。3)如果我只是在应用程序上关闭屏幕,它会在我打开屏幕时立即触发。我预料到会有麻烦,因为对于那种事情我需要使用服务、处理程序或其他类似的东西。

问题是,我是 Android 的新手,在阅读了很多相关资料后,我找不到解决方案。

据我所知,我应该使用服务,但它只能有一个实例。我将如何使用多个警报?

还有其他方法吗?

我需要一种方法来启动每个警报并告诉系统无论发生什么情况都继续计数! (并在完成时调用 Activity)

有什么帮助吗?

最佳答案

Is there other way of doing it?

如果您的目标是提醒用户将来发生事件,无论您的应用是否正在运行,请转储所有 CountdownTimer 逻辑,并切换到 AlarmManager。它是专门为这种场景设计的。您可以为每个计时器设置一个 AlarmManager 事件,以便在到达结束时间时进行控制。

另请注意,您需要在文件或数据库中维护有关已注册事件的信息:

  • 以便用户可以添加和删除它们,并且

  • 这样您就可以在用户重启设备时再次设置 AlarmManager

and to call an Activity when it finishes

用户可能会因为该行为而拒绝您的应用。并不是每个人都希望在使用设备进行操作时被打扰。请允许它是可配置的,这样用户就可以选择一些侵入性较小的东西,比如 Notification

关于Android:如何让多个倒数计时器在后台工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com