为什么我们需要在Android中使用动态广播接收器?

时间:2018-02-28 06:37:31

标签: android android-broadcastreceiver

在哪种情况下我们必须使用静态广播接收器,在哪种情况下我们必须在Android中使用动态广播接收器

请用例子说明

2 个答案:

答案 0 :(得分:0)

基本区别在于静态我们在Manifest文件中使用tag。所有事件都无法静态注册,因为某些事件需要权限,因此我们在运行时动态注册它们。此外,如果您在单个任务中需要单个任务,那么应用范围也很重要,那么为什么要静态注册。但对于某些接收器,如果您希望用户在没有互联网的情况下注销,我们会在应用程序级别静态注册,因为我们需要用户保持连接。

答案 1 :(得分:0)

您可以在Android中以两种方式设置BroadcastReceiver

只需在清单文件中使用<receiver />即可。

另一种方法是在Context对象上调用registerReceiver()方法。 registerReceiver()方法接受两个参数:receiver(要注册的BroadcastReceiver和filter(指定接收方应该侦听哪个事件的IntentFilter对象。)

通过第二种方法,只要组件存在,您的BroadcastReceiver就会存在,Android会向此接收方发送事件,直到创建组件本身被破坏为止。

因此,如果您想优化应用的性能,请选择动态方法。