2010-12-02 3 views
2

Я реализовал виджет, но у меня проблемы с его обновлением. Я получаю начальный onUpdate, и снова, если я оставлю его на века.Android Widget Refresh

Однако я хочу, чтобы изменения в моем основном приложении автоматически отражались на виджетах. Как это получить? Есть ли способ вызова виджета из моей активности (я просто выполняю статическую процедуру) или есть способ, которым я могу заставить мой «onUpdate» вызываться каждый раз, когда телефон возвращается на главный экран?

+0

Не думайте, что ваш виджет будет на главном экране. – 2010-12-02 17:27:27

ответ

3

Внедрение виджета с помощью службы обновления RemoteViews? Если это так, вы можете запустить эту службу с помощью Intent, и виджет будет обновляться.

Intent widgetUpdateIntent = new Intent(context, MyClassName.UpdateService.class); 
context.startService(widgetUpdateIntent); 
+1

Я не уверен, как настроить службу в виджетах для обслуживания удаленных представлений. Есть ли пример, на который вы можете указать мне? – Chris 2010-12-02 18:35:25

1
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
alarmManager//.setRepeating(AlarmManager.RTC_WAKEUP, 500, 2, pendingIntent1); 
.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 500, pendingIntent1);