是否应在活动内部声明BroadcastReceiver



我想知道在这两者之间处理BroadcastReceiver创建的更干净的设计方法是什么:

  1. 在Activity/Fragment中直接声明BroadcastReceiver,并在那里重写onReceived方法。

  2. 在包"receiver"中创建另一个自定义接收器类,该类扩展BroadcastReceiver类并覆盖onReceive。然后,在Activity/Fragment中实例化该自定义接收器类。

有两种类型的广播接收机

1) 在活动内注册的动态广播接收器

2) 静态广播接收器,在Manifest文件中注册或声明,带有带有特定操作的接收器标签(何时激发接收器)

用途:例如说接收消息

1) 动态广播接收机用于接收广播意图,主要用于刷新通过发送广播方式发送的消息。

2) 静态广播接收器用于接收消息。在这里,具有SMS接收操作的注册接收方将接收消息,稍后将其发送到活动

最后,它取决于开发人员使用哪一个,何时根据需求使用

没有更干净的方法,这取决于您的编码方式。

根据DRY原则,我只在注意到在不同的活动中需要它们时才扩展BroadcastReceiver

最新更新