我有一個簡單的appwidget,我想在活動中發生操作(在同一應用程序中)時更新它。在onUpdate()中,我立即更新了小部件,它工作正常。在我的活動中,我調用了在onUpdate()中調用的appwidget中的靜態更新方法來更新視圖。該小部件未更新。android appwidget不會從活動更新
我可以將代碼直接追蹤到AppWidgetManager.updateAppWidget()方法中,這一切都很好,但小部件不會更新。
我能看到的唯一可能的區別是,當從活動的上下文與appwidget的onUpdate()方法的上下文調用它時,傳遞到我的靜態更新方法中的上下文對象是不同的。然而,在網絡上有很多例子,所以我希望它能起作用。
的接收器標籤內,所以問題一定是,我是不是更新正確的ID。實際上,小部件設置了一個onclick意圖,其id由活動接收,然後告知小部件自行更新。 – 2010-12-14 19:13:21
我不認爲調用onUpdate方法是正確的方法。您應該爲AppWidgetManager.ACTION_APPWIDGET_UPDATE發送廣播。 – midhunhk 2014-06-30 09:36:08
@silverback從「正確地做到」的方法,我同意你的觀點,正確的做法是發送廣播。從「使其工作」的方法,上述將導致應用程序小部件更新 - 髒,但功能。 – 2014-06-30 10:26:10