据我理解,关于小部件的官方文档让我有些困惑。
“标准”方法是定义一个
我在阅读Google文档时发现的“手动”方法是使用
现在,我被以下思考所困扰:小部件位于主屏幕上。或者至少它们最常见的位置是主屏幕。Android提供了许多主屏幕页面(标准为5或7个),因此用户放置的小部件可能甚至不可见!
只要小部件显示的信息只是一个非常简单的文本(例如当前时间!),那么无论何时需要,都可以在没有延迟的情况下计算或推导出来,我不希望有任何更新频率甚至在不可见时唤醒设备的意图!
但是只要设备开启,或更具体地说:只要屏幕开启并且小部件可见,我希望有很多更新事件!就像显示秒钟的时钟需要每秒绘制一次意图!
如何实现这一点?“Android模拟时钟”是如何实现的?A(“标准”)方法和B(“手动”)方法都不能提供高频率的更新,只有在设备开启并且我的小部件可见时才有。
有人能给我一个提示吗?
“标准”方法是定义一个
BroadcastReceiver
并以毫秒为单位定义更新频率-这种方法允许最短的更新间隔为30分钟以节省电池电量。听起来很合理。我在阅读Google文档时发现的“手动”方法是使用
AlarmManager
自己处理小部件的更新。使用此方法可以实现更高的更新间隔(尽管当然不鼓励这样做!),并且可以使用不会在设备休眠时唤醒设备的警报类型。(我假设意图在事件触发后任何时间发送,只要设备因其他原因而唤醒-是这样吗?)现在,我被以下思考所困扰:小部件位于主屏幕上。或者至少它们最常见的位置是主屏幕。Android提供了许多主屏幕页面(标准为5或7个),因此用户放置的小部件可能甚至不可见!
只要小部件显示的信息只是一个非常简单的文本(例如当前时间!),那么无论何时需要,都可以在没有延迟的情况下计算或推导出来,我不希望有任何更新频率甚至在不可见时唤醒设备的意图!
但是只要设备开启,或更具体地说:只要屏幕开启并且小部件可见,我希望有很多更新事件!就像显示秒钟的时钟需要每秒绘制一次意图!
如何实现这一点?“Android模拟时钟”是如何实现的?A(“标准”)方法和B(“手动”)方法都不能提供高频率的更新,只有在设备开启并且我的小部件可见时才有。
有人能给我一个提示吗?