Как обновить виджеты из службы?
У меня есть фоновая служба, которая может быть настроена для выполнения некоторых действий каждые x минут. Я хочу реализовать виджет, который обновляется каждый раз, когда моя служба выполняет это действие. Тем не менее, я не могу получить метод onUpdate моего AppWidgetProvider, вызванный каким-либо образом, за исключением добавления виджета на рабочий стол.
Я попытался отправить объекты APPWIDGET_UPDATE, но onUpdate не получил вызов, хотя AppWidgetProvider действительно получил намерение с момента вызова метода onReceive. Есть ли способ инициировать обновления виджета из службы?
Ответы
Ответ 1
Просто сделайте себе RemoteViews
и обновите виджеты непосредственно в Service
. Вы получите AppWidgetManager
через:
AppWidgetManager mgr=AppWidgetManager.getInstance(this);
Все остальное как обычно.
Примечание. -. Если вы действительно хотите заставить существующую AppWidgetProvider
выполнять эту работу, отправьте трансляцию с помощью специального действия на ваш компонент и вызовите onUpdate()
самостоятельно из onReceive()
когда вы его получите.