如何从服务更新小部件?

时间:2010-05-15 01:08:49

标签: android widget

我有一个后台服务,可以配置为每x分钟执行一些操作。我希望实现一个小部件,每次我的服务执行该操作时都会更新。但是,我无法以任何方式获取我的AppWidgetProvider的onUpdate方法,除非在主屏幕上添加小部件。

我尝试发送APPWIDGET_UPDATE意图但是onUpdate没有被调用,尽管AppWidgetProvider确实收到了意图,因为调用了onReceive方法。有什么办法可以从服务中触发小部件更新吗?

1 个答案:

答案 0 :(得分:19)

让自己成为RemoteViews并直接在Service更新小部件。您将通过以下网址获取AppWidgetManager

AppWidgetManager mgr=AppWidgetManager.getInstance(this);

其他一切都正常。

注意: - 如果您确实要强制现有的AppWidgetProvider执行此工作,请将包含自定义操作的广播发送到您的组件,然后自己致电onUpdate()onReceive()得到它。