我有一个简单的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