android - 使用警报管理器频繁更新小部件

标签 android android-widget alarmmanager

我有一个小部件,我需要仅在设备处于唤醒状态时使用新内容频繁更新它。

我将为此使用闹钟管理器并将闹钟类型设置为 ELAPSED_REALTIME 或 RTC,如 Android 开发者网站上“App Widgets”指南中所建议的那样。

问题是我需要在屏幕打开时每 5 秒更新一次小部件(可能是可配置的)。

无论我在哪里搜索,人们都说 5 秒是疯狂的,但我还没有真正理解如果我只在设备处于唤醒状态时更新,这是否会成为一个问题。我可以采取不同的方法来解决这个问题吗?时钟小部件如何做到这一点?

最佳答案

在实验过程中,我意识到当屏幕关闭时警报仍然会触发。 它仅在设备进入深度 sleep 时停止触发,在这种情况下,5 秒对于设备有时间进入休眠来说太少了。

所以我所做的是过滤 SCREEN_ON 广播并每 5 秒安排一次警报。然后过滤SCREEN_OFF广播,取消闹钟。

关于android - 使用警报管理器频繁更新小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819247/

相关文章:

android - 如何在 "query"方法中传递两个或多个选择参数

java - calendar.add 在 Android 中无法正常运行

java - 如果选择的时间已经过去,如何在第二天设置闹钟

Android前台服务在某些情况下被杀死

android - 用相机拍照后 Intent 为空

java - 从警报启动特定 Activity - 即使应用程序关闭

java - 匹配 arraylist 中的字符串,其中字符串是 arraylist 串联的结果

android - 让几个 fragment 工作 "on their own"好吗?

android - Android ListView 项目中的长字符串

Android getMeasuredHeight 返回错误值!