2012-09-27 107 views
1

我有一个应用程序与几个活动,我希望在手机上线时通知(无论用户在哪个活动)。我已经找到了一个广播接收器来做这件事,但我想知道是否有一种方法来宣布这个BroadcastReceiver只有一次,我想避免在每个活动中放置代码(我有超过20个活动! )。全球广播接收器(Android)

谢谢。

回答

2

创建抽象类extends Activity并定义广播接收器实现在那里。稍后,修改您的活动课程以延伸父级课程。

+0

哦,我没有想过这件事。即使应用程序已关闭(未打开任何活动),如果我想要收到通知,该怎么办? –

+0

在你的父类中创建一个'boolean'标志(可以说是** isVisible **)并且覆盖'onStart'和'onStop'方法。在'onStart'中,将标志设置为'true',在'onStop'中设置为'false'。这会告诉你该活动是否在屏幕上可见。 – waqaslam

+0

之前提到的另一种方法是使用单例类。但请记住多线程的注意事项。这完全取决于你的情况。 –

1

正如在文档中一样,如果我们在清单文件中声明广播接收器,它会自动运行。 事情是,现在你需要处理接收器的onReceive()方法。 另一种方法是你创建一个单独的java类并导入你想要的任何地方。