全球广播接收器(Android)

全球广播接收器(Android),android,broadcastreceiver,Android,Broadcastreceiver,我有一个包含多个活动的应用程序,我希望在手机上线时收到通知(不管用户参与哪个活动)。我已经找到了一个广播接收器来执行此操作,但我想知道是否有一种方法可以只声明此广播接收器一次,我希望避免在每个活动中都放置代码(我有20多个活动!) 谢谢。创建一个父类抽象类,扩展活动,并在其中定义广播接收器实现。稍后,修改活动类以扩展该父类。如文档中所述,如果我们在清单文件中声明广播接收器,它将自动运行。 现在需要处理接收方的onReceive()方法。 另一种方法是创建一个单独的java类,并在任何需要的地方导

我有一个包含多个活动的应用程序,我希望在手机上线时收到通知(不管用户参与哪个活动)。我已经找到了一个广播接收器来执行此操作,但我想知道是否有一种方法可以只声明此广播接收器一次,我希望避免在每个活动中都放置代码(我有20多个活动!)


谢谢。

创建一个父类抽象类,
扩展活动
,并在其中定义广播接收器实现。稍后,修改活动类以扩展该父类。

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

哦,我没有想到这一点。如果我希望在应用程序关闭(没有打开任何活动)的情况下收到通知,该怎么办?在父类中创建一个
boolean
标志(比如isVisible),并覆盖
onStart
onStop
方法。在
onStart
中,将标志设置为
true
,并在
onStop
中将其设置为
false
。这将告诉您活动是否在屏幕上可见。前面提到的另一种方法是使用单例类。但请记住多线程的注意事项。这完全取决于你的处境。