在哪种情况下我们必须使用静态广播接收器,在哪种情况下我们必须在Android中使用动态广播接收器?
请用例子说明
答案 0 :(得分:0)
基本区别在于静态我们在Manifest文件中使用tag。所有事件都无法静态注册,因为某些事件需要权限,因此我们在运行时动态注册它们。此外,如果您在单个任务中需要单个任务,那么应用范围也很重要,那么为什么要静态注册。但对于某些接收器,如果您希望用户在没有互联网的情况下注销,我们会在应用程序级别静态注册,因为我们需要用户保持连接。
答案 1 :(得分:0)
您可以在Android中以两种方式设置BroadcastReceiver
:
只需在清单文件中使用<receiver />
即可。
另一种方法是在Context对象上调用registerReceiver()
方法。 registerReceiver()
方法接受两个参数:receiver
(要注册的BroadcastReceiver和filter
(指定接收方应该侦听哪个事件的IntentFilter对象。)
通过第二种方法,只要组件存在,您的BroadcastReceiver
就会存在,Android会向此接收方发送事件,直到创建组件本身被破坏为止。
因此,如果您想优化应用的性能,请选择动态方法。