我的Android应用使用其Application
类(确切地说是其Application
子类)来运行线程以从网站检索数据。一旦成功完成,它应该将这些数据提供给正在运行的Activity
(我的应用程序中有2个活动)。我怎么能通知Activity
这个?如何判断当前Activity
是否存在应检索和显示的新可用数据?
谢谢你的回答。
答案 0 :(得分:2)
如何使用广播系统。
您可以使用getApplicationContext();
在Application类中获取上下文
然后你可以发送自己的自定义广播:
Intent i = new Intent();
i.setAction("your.package.customintent.TEST");
context.sendBroadcast(i);
然后,您可以在活动中实现广播接收器以接收广播。 更多信息:http://thinkandroid.wordpress.com/2010/02/02/custom-intents-and-broadcasting-with-receivers/
您可以使用putExtra设置要在Intent中发送的数据 但您也可以将其存储在数据库中,并使用广播让活动知道有新数据可用
答案 1 :(得分:0)
如果您要将此数据存储到内容提供商(假设数据不是那么小),您可以在内容提供商处注册内容观察者。触发器应由活动处理。看here
答案 2 :(得分:0)
这是非常糟糕的做法,因为您永远不知道Application对象何时被销毁。我建议改用服务。在Android开发人员上阅读它!