我有一个后台服务,可以配置为每x分钟执行一些操作。我希望实现一个小部件,每次我的服务执行该操作时都会更新。但是,我无法以任何方式获取我的AppWidgetProvider的onUpdate方法,除非在主屏幕上添加小部件。
我尝试发送APPWIDGET_UPDATE意图但是onUpdate没有被调用,尽管AppWidgetProvider确实收到了意图,因为调用了onReceive方法。有什么办法可以从服务中触发小部件更新吗?
答案 0 :(得分:19)
让自己成为RemoteViews
并直接在Service
更新小部件。您将通过以下网址获取AppWidgetManager
:
AppWidgetManager mgr=AppWidgetManager.getInstance(this);
其他一切都正常。
注意: - 如果您确实要强制现有的AppWidgetProvider
执行此工作,请将包含自定义操作的广播发送到您的组件,然后自己致电onUpdate()
从onReceive()
得到它。