2010-11-08 36 views
1

我已經添加了一個小部件,而不是每隔xxx分鐘更新一次,我只想在活動中更改某些內容時更新它。Android小部件 - 從我的活動更新

但是,如何從我的活動中調用我的小部件的onUpdate例程?

+0

當你說「什麼改變」​​,你在找什麼樣的變化呢? – skaz 2010-11-08 21:09:38

+0

我的小部件顯示我的應用程序的活動警報。 如果用戶刪除或添加新的警報,我想更新小部件。 而不是檢查每x分鐘更新,我想強制更新wihtin我的活動。 – chrisonline 2010-11-08 21:12:24

回答

0

但是我怎樣才能從我的活動中調用我的小部件的onUpdate例程?

onUpdate()邏輯放在其他地方,可以通過您的AppWidgetProvider和您的活動訪問。可能是「其他地方」是IntentService(因此提供者和活動將調用startService()來發送命令),或者可能是「其他地方」只是某處的靜態方法。

+0

所以我需要在AppWidgetProvider中啓動一項服務,我的活動應該與該服務交談?服務本身對Widget進行更新? – chrisonline 2010-11-09 09:04:53

+0

我已經通過服務解決了它!謝謝! – chrisonline 2010-11-09 11:21:35

0

onUpdate()方法AppWidgetProvider,我開始一項服務! 服務確實更新了小部件。

服務位於我AppWidgetProvider爲公共類。

在我的活動中,我啓動了相同的服務和更新小部件的已啓動服務。 因此,可以通知小部件一個新的更新。

Intent intent = new Intent(context, UpdateService.class); context.startService(intent);