Android 是否应在活动内声明广播接收器?

Android 是否应在活动内声明广播接收器?,android,design-patterns,broadcastreceiver,android-broadcastreceiver,Android,Design Patterns,Broadcastreceiver,Android Broadcastreceiver,我想知道有什么更好的更干净的设计方法来处理这两者之间的广播接收器创建: 在活动/片段中直接声明BroadcastReceiver,并在其中重写onReceived方法 在包接收器中创建另一个自定义接收器类,该类扩展BroadcastReceiver类并覆盖onReceive。然后,在活动/片段中实例化该自定义接收方类 有两种类型的广播接收机 1在活动中注册的动态广播接收器 2在清单文件中注册或声明的静态广播接收器,带有接收器标签,带有特定操作何时启动接收器 用法:例如说接收消息 1动态广播接收器

我想知道有什么更好的更干净的设计方法来处理这两者之间的广播接收器创建:

在活动/片段中直接声明BroadcastReceiver,并在其中重写onReceived方法

在包接收器中创建另一个自定义接收器类,该类扩展BroadcastReceiver类并覆盖onReceive。然后,在活动/片段中实例化该自定义接收方类


有两种类型的广播接收机

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

2在清单文件中注册或声明的静态广播接收器,带有接收器标签,带有特定操作何时启动接收器

用法:例如说接收消息

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

2静态广播接收器用于接收消息。在此,具有SMS接收操作的注册接收器将接收消息,然后发送到活动


最后取决于开发人员使用哪一种,何时使用取决于需求有两种类型的广播接收机

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

2在清单文件中注册或声明的静态广播接收器,带有接收器标签,带有特定操作何时启动接收器

用法:例如说接收消息

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

2静态广播接收器用于接收消息。在此,具有SMS接收操作的注册接收器将接收消息,然后发送到活动


最后,它取决于开发人员使用哪一种,何时根据需求使用,没有更干净的方法,这取决于您如何编写代码


遵循DRY原则,我只在注意到在不同活动中需要广播接收器时才扩展广播接收器。

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


遵循DRY原则,我只在注意到在不同活动中需要BroadcastReceiver时才扩展它。

基本上你想知道是使用匿名类还是正确声明类?这两个选项都会导致相同的结果,答案完全是基于意见的。当然,您想知道是使用匿名类还是正确声明该类?这两个选项都会导致相同的结果,答案完全是基于意见的,因为我认为我一直在滥用它,因为我使用它来启动一个意向服务或onReceived中的服务。这是一种不好的做法吗?那么我认为我一直在滥用它,因为我使用它来启动一个意向服务或在onReceived中的服务。这是坏习惯吗?