2010-11-08 50 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);