我刚刚读完了这个教程:更新-小部件在接收-方法 (顺便说一句,你会对代码提出任何改进吗?)
最后有人提到:
我只是想知道是否有一种方法可以进一步扩展这一点,以便当设备处于休眠状态(屏幕关闭)时,更新停止。然后,当设备醒来时,更新继续进行。
所以我的问题是:有没有办法做到这一点?多么?还是警报员自动停止了?-我不这么认为。
发布于 2011-11-16 13:19:03
您可以指定在调度AlarmManager时设备是否会唤醒。
引用文件:
ELAPSED_REALTIME SystemClock.elapsedRealtime()中的警报时间(自启动以来的时间,包括睡眠)。此警报不会唤醒设备;如果它在设备休眠时发出,则直到下一次设备醒来时才会发出。 ELAPSED_REALTIME_WAKEUP SystemClock.elapsedRealtime()中的警报时间(自启动以来的时间,包括睡眠),将在设备关闭时唤醒它。
AlarmManager.RTC和AlarmManager.RTC_WAKEUP也是如此
所以您可能想要两个AlarmManager.RTC或AlarmManager.ELAPSED_REALTIME中的一个。这些操作在设备处于清醒状态时继续进行,在设备处于待机状态时停止。如果此警报是在设备休眠时触发的,则当用户将设备重新打开时,它将被传递,这正是您想要的。另外,通常情况下,AlarmManagers计划的警报不会自动取消。
这里提到的部分可以在本教程的这一部分中找到,具体如下:
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 20*1000, pendingIntent);https://stackoverflow.com/questions/8152231
复制相似问题