我将 AlarmManager 设置为每分钟触发一次。但是,我只在电话处于 Activity 状态时才需要它。我想在手机进入休眠状态时关闭所有更新。我不确定 AlarmManager 和小部件通常在手机进入休眠状态时的默认行为是什么。但我注意到我的电池在 sleep 模式下会下降。因此,我相信是小部件导致了故障。
那么,如果 AlarmManager 和其他广播在默认情况下继续触发,我如何才能在 sleep 模式下关闭这些更新,然后在手机恢复 Activity 模式时重新打开它们?
最佳答案
使用 public void setInexactRepeating(int 类型,long triggerAtMillis,long intervalMillis,PendingIntent 操作)
,类型为 RTC。只有 RTC_WAKEUP 和 ELAPSED_REALTIME_WAKEUP 会唤醒设备。
例如在我的代码中我使用
am.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis() + syncInterval, syncInterval, pendingIntent);
关于android - 当手机进入休眠模式时关闭 AlarmManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32665215/