【问题标题】:Turn off AlarmManager when phone goes to sleep mode手机进入睡眠模式时关闭 AlarmManager
【发布时间】:2015-09-19 06:50:42
【问题描述】:
我已将 AlarmManager 设置为每分钟触发一次。但是,我只在电话处于活动状态时才需要它。我想在手机进入睡眠状态时关闭所有更新。我不确定当手机进入睡眠状态时 AlarmManager 和小部件的默认行为是什么。但我注意到我的电池在睡眠模式下会下降。因此,我相信它是导致它失败的小部件。
那么,如果 AlarmManager 和其他广播默认保持触发,我如何在睡眠模式下关闭这些更新,然后在手机恢复活动模式时重新打开它们?
【问题讨论】:
标签:
android
android-widget
alarmmanager
【解决方案1】:
使用 public void setInexactRepeating (int type, long triggerAtMillis, long intervalMillis, PendingIntent operation) 和 RTC 作为类型。只有 RTC_WAKEUP 和 ELAPSED_REALTIME_WAKEUP 会唤醒设备。
例如在我的代码中我使用
am.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis() + syncInterval, syncInterval, pendingIntent);