2011-05-03 76 views
0

我有我自己的singleton类继承自应用程序。在我的所有活动中,我通过使用DataClass dc = (DataClass) context.getApplicationContext();获得此共享课程。应用程序不同于活动broadcastreceiver

这似乎工作,但是当我在自定义的BroadCastReceiver中访问单例时,我有一个应用程序的其他实例。

这可能吗?有没有人有这个解决方案?

回答

1

这是预期的行为。

如果我没有弄错,BroadcastReceiver运行在不同的进程然后你的活动。这意味着您的BroadcastReceiver上将有不同的应用程序实例。

+0

那么我应该如何将变量传递给broadCastReceiver?我可以使用intent.putExtra,但由于我需要传递一个很长的变量,这将是很大的开销 – Vincent 2011-05-04 07:01:00

+0

putExtra()是最简单的方法。另外请记住,您的BroadcastReceiver调用不应该花费更长的时间然后几秒钟执行,否则可能会被终止。实际上,你甚至无法绑定到接收器内的服务。我只是使用意图,因为我现在没有更好的主意:P – Carl 2011-05-04 09:50:46

相关问题