我有一个后台服务,可以配置为每x分钟执行一次操作。我想实现一个小部件,每当我的服务执行该操作时,该小部件就会更新。但是,我无法以任何方式调用AppWidgetProvider的onUpdate方法,除非将小部件添加到主屏幕。
我尝试发送APPWIDGET_UPDATE意图,但是onUpdate没有被调用,尽管AppWidgetProvider确实接收到了意图,因为调用了onReceive方法。有没有什么方法可以从服务中触发小部件更新?
发布于 2010-05-15 18:03:21
只需为自己创建一个RemoteViews,然后直接在Service中更新小部件。你可以通过以下方式获得你的AppWidgetManager:
AppWidgetManager mgr=AppWidgetManager.getInstance(this);其他的一切都是正常的。
注意:-如果你真的想强制现有的AppWidgetProvider来做这项工作,向你的组件发送一个带有自定义操作的广播,当你得到它时,你可以自己从onReceive()调用onUpdate()。
https://stackoverflow.com/questions/2838495
复制相似问题