BroadcastReceiver应该在活动中声明吗?

时间:2016-04-09 18:34:50

标签: android design-patterns broadcastreceiver android-broadcastreceiver

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

  1. 直接在活动/片段中声明 BroadcastReceiver 并覆盖onReceived方法。

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

2 个答案:

答案 0 :(得分:3)

有两种类型的广播接收器

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

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

用途:例如说接收消息

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

2)静态广播接收器用于接收消息。注册接收者通过短信接收操作将收到该消息,然后将其发送到活动

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

答案 1 :(得分:1)

没有更清洁的方法,这取决于你如何编码。

遵循DRY原则,我只会在注意到我在不同的活动中需要它们时才会延长BroadcastReceiver