7

据我了解有关小部件的官方文档,我有点困惑。

“标准”方式是定义 aBroadcastReceiver并以毫秒为单位定义更新频率 - 这种方式允许 30 分钟的最小更新间隔以节省电池电量。听起来很合理。

我发现阅读 Google 文档的“手动”方式是使用AlarmManager. 使用这种方法可以提高更新间隔(当然不鼓励!),并且可以使用在睡眠时不唤醒设备的警报类型。(我假设一旦设备因其他原因唤醒,事件应该触发后的任何时间发送意图 - 对吗??)

现在,我对以下想法感到困惑:小部件驻留在主屏幕上。或者至少这是他们最常见的地方。Android 在主屏幕上提供了许多页面(标准是 5 或 7 个),因此即使用户将 Widget 放置在那里,它也可能不可见!

只要小部件显示的信息只是一个非常简单的文本(例如当前时间!),可以在需要时立即计算或导出,我不想要任何更新频率甚至设备唤醒意图不可见的!
只要设备处于开启状态,或者更具体一点:只要屏幕处于开启状态且小部件可见,我就想要很多更新事件!就像显示秒数的时钟需要每秒钟重绘一次的意图!

这怎么可能实现?“安卓模拟时钟”是如何实现的?方法 A(“标准”)和 B(“手动”)都没有给我很高的更新频率,但只要设备打开并且我的小部件可见。

谁能给我一个提示???

4

1 回答 1

3

我假设在设备因其他原因唤醒后立即触发事件后的任何时间发送意图 - 是吗?

是的。

当它不可见时,我不想要任何更新频率甚至设备唤醒意图!

但在很多情况下,您的用户会这样做。您在更新中所做的任何值得做的事情都可能需要几秒钟的时间。用户不会坐在那里等待几秒钟。因此,应用小部件更新模型表示您会不断更新应用小部件,因此当用户查看应用小部件时,他们会立即获得更新的数据。

但只要设备处于开启状态,或者更具体一点:只要屏幕处于开启状态并且小部件可见,我就想要很多更新事件!就像显示秒数的时钟需要每秒钟重绘一次的意图!

编写您自己的主屏幕应用程序。

“安卓模拟时钟”是如何实现的?

这是主屏幕应用程序的一项功能。

于 2011-02-22T13:03:45.973 回答