玩过《糖果粉碎传奇》吗?知道你的生命是如何耗尽的,并且必须等待 30 分钟才能重新生成新的生命,最多可达 5 条吗?这是我试图在我的应用程序中实现的想法,但我不确定即使用户关闭应用程序和/或手机,如何运行代码。
我的问题是如何让计时器在手机后台持续运行,直到计时器到达 X 分钟。我会为此使用 Timer 类吗?因为我熟悉该类并且已经在我的应用程序中实现了它的一种形式。
最佳答案
您的问题有两部分:
- 要实际运行计时器,以便在特定时间段后采取操作,请使用
AlarmManager
。仅当您要主动中断或通知用户时才应使用此功能。 - 您的场景实际上并不需要计时器,不必要时不使用计时器会更有效。相反,存储时间戳。当您的应用程序再次打开时,将当前时间与时间戳进行比较并计算效果。在 regeneating-lives 示例中,您将比较时间戳,查看已过去 100 分钟,除以 30 分钟,然后添加 3 个生命(可能保留额外的 10 分钟余数)。
关于java - 即使应用程序关闭也运行时钟或计时器 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18094447/