首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓: AppWidget中的ACTION_TIME_TICK

安卓: AppWidget中的ACTION_TIME_TICK
EN

Stack Overflow用户
提问于 2012-03-16 04:26:51
回答 2查看 2K关注 0票数 2

我已经在我的小工具中创建了一个时钟,我希望它每分钟都与系统时钟同步更新。ACTION_TIME_TICK似乎是完美的解决方案,但是我的大部分研究表明这在AppWidget中是不可能的,而其他人则说有变通方法,但它们非常含糊。

我不喜欢做AlarmManager,因为我必须非常频繁地更新,以确保当系统时钟改变分钟时,它会改变分钟,这会耗尽更多的电池。

有没有解决ACTION_TIME_TICK的办法,或者有什么最好的方法可以让每一分钟的更新都与系统时钟同步,同时最大限度地减少电池消耗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-16 04:51:50

是否有针对ACTION_TIME_TICK的解决方法

只能通过registerReceiver()从已在运行的内容中注册ACTION_TIME_TICK。在您的例子中,这个“东西”需要是一个不断运行的Service,而这通常是一个反模式。用户和操作系统可以在需要时摆脱该服务。

我会找到一种方法,稍微放宽“与系统时钟同步”的要求,然后使用AlarmManager。毕竟,Android不是一个实时操作系统,所以在任何保证意义上,都不会“与系统时钟同步”。

使用AlarmManager,您可以将第一个警报指定为下一分钟的“顶部”,时间间隔为60秒和setRepeating()。或者,你可以set(),安排在下一分钟的“顶部”,然后通过set()调度下一次,作为你自己处理的一部分,如果你认为这样你可以更好地手动纠正漂移。

票数 4
EN

Stack Overflow用户

发布于 2012-03-16 04:44:01

如果您只需要在应用程序运行时显示它,那么只需使用asyncTask更新它,但如果您需要它的值,甚至在后台,那么使用服务将是最好的主意

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9727633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档