Как обновить виджеты от сервиса?

У меня есть фоновый сервис, который может быть настроен для выполнения некоторого действия каждый x минуты. Я хочу реализовать виджет, который обновляется каждый раз, когда мой сервис выполняет то действие. Однако я не могу получить onUpdate метод своего AppWidgetProvider, названного всегда, кроме тех случаев, когда, добавив виджет к homescreen.

Я пытался отправить намерения APPWIDGET_UPDATE, но onUpdate не стал названным, хотя AppWidgetProvider действительно получал намерение, так как onReceive метод назвали. Есть ли какой-либо способ, которым я могу инициировать обновления виджета от сервиса?

14
задан Franklin 15 May 2010 в 01:08
поделиться

1 ответ

Просто создайте себе RemoteViews и обновите виджеты непосредственно в службе . Вы получите свой AppWidgetManager через:

AppWidgetManager mgr=AppWidgetManager.getInstance(this);

Все остальное как обычно.

Примечание: - Если вы действительно хотите заставить существующий AppWidgetProvider выполнять эту работу, отправьте широковещательную рассылку с настраиваемым действием в свой компонент и вызовите onUpdate () из onReceive () , когда вы его получите.

19
ответ дан 1 December 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: