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