首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微件在服务结束前更新

微件在服务结束前更新
EN

Stack Overflow用户
提问于 2013-02-19 02:40:43
回答 1查看 81关注 0票数 0

我正在制作一个android小工具,它是一个按钮。

当单击它时,小部件午餐服务和服务写入共享首选项中的更改,然后小部件应该调用update方法来根据服务中更改的首选项值来更改背景。

问题是update方法在服务之前运行,因此小部件在服务更改它之前更新存储在共享首选项中的最后一个值。

我想要的:-单击小部件按钮- OnReceive方法-调用startService() -服务在服务中运行:编辑共享引用-服务结束-根据编辑的共享首选项值调用更新小部件

实际工作方式:-单击小部件按钮- OnRecieved方法-调用startService() -调用更新小部件和更新,具体取决于已编辑(但尚未编辑)的共享首选项值-服务正在磨合服务:编辑共享引用-服务结束

我的代码:- OnReceive() - in OnReceive():- startService();- updateWidgets();

如何在更新方法开始运行之前完全运行服务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 02:57:28

startService()不是阻塞操作,因此如果在onReceive()上依次使用startService()和updateWidgets(),它就不会等待服务启动和结束后才运行updateWidgets()。

要获得您想要的方式,您需要在服务startCommand()的末尾调用updateWidgets(),并调用finish()来结束服务。

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

https://stackoverflow.com/questions/14943159

复制
相关文章

相似问题

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