android - 当手机进入休眠模式时关闭 AlarmManager

标签 android android-widget alarmmanager

我将 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/

相关文章:

安卓目录大小

android - React Native : Unfortunately, 应用程序已停止

android - 通过代码获取另一个 XML 布局中的 XML 布局 [Android]

android - 如何在 RatingBar 中设置星星的自定义大小

Android alarmManager 设置重复不触发

java - 如何在Android Studio中使用javax.xml.transform.stax?

android,用模拟器录制音频

android - 编辑框在android中没有获得焦点

Android:闹钟每 30 分钟播放一次,从 12:30 开始

android - 在 Oreo 中安排任务和提醒的正确方法是什么?