据我了解有关小部件的官方文档,我有点困惑。
“标准”方式是定义 aBroadcastReceiver
并以毫秒为单位定义更新频率 - 这种方式允许 30 分钟的最小更新间隔以节省电池电量。听起来很合理。
我发现阅读 Google 文档的“手动”方式是使用AlarmManager
. 使用这种方法可以提高更新间隔(当然不鼓励!),并且可以使用在睡眠时不唤醒设备的警报类型。(我假设一旦设备因其他原因唤醒,事件应该触发后的任何时间发送意图 - 对吗??)
现在,我对以下想法感到困惑:小部件驻留在主屏幕上。或者至少这是他们最常见的地方。Android 在主屏幕上提供了许多页面(标准是 5 或 7 个),因此即使用户将 Widget 放置在那里,它也可能不可见!
只要小部件显示的信息只是一个非常简单的文本(例如当前时间!),可以在需要时立即计算或导出,我不想要任何更新频率甚至设备唤醒意图不可见的!
但只要设备处于开启状态,或者更具体一点:只要屏幕处于开启状态且小部件可见,我就想要很多更新事件!就像显示秒数的时钟需要每秒钟重绘一次的意图!
这怎么可能实现?“安卓模拟时钟”是如何实现的?方法 A(“标准”)和 B(“手动”)都没有给我很高的更新频率,但只要设备打开并且我的小部件可见。
谁能给我一个提示???