我已经实现了一个简单的应用程序,使用alaramManager以特定的时间间隔显示通知,如图所示here。
我在主要活动中有一个静态bool shouldNotify
类级变量。
只有在setRepearing
为真时我才需要执行shouldNotify
。
该怎么办?
编辑:
一种方法是通过条件通知(如第一个答案中所述),但这将耗尽电池,因为alaram将始终被触发。还有更好的选择吗?
让我知道它是否太模糊,不能在这里被问到。我是OOP的新手。
答案 0 :(得分:1)
让你的警报重复。只需将if(shouldNotify)
签入onReceive()
方法即可。因此,您将检查是否发送通知。
修改强>
我猜,这不是最佳解决方案,是的。
作为替代方案,如果您关心电池寿命,则可以在shouldNotify
更改为false
时取消警报,并在转为true
时重新开始。