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