【发布时间】:2015-08-17 10:51:59
【问题描述】:
如果我的 Android Studio 项目的清单文件中未提及“广播接收器”,是否需要取消注册?有什么后果?
【问题讨论】:
标签: android broadcastreceiver broadcast android-broadcast
如果我的 Android Studio 项目的清单文件中未提及“广播接收器”,是否需要取消注册?有什么后果?
【问题讨论】:
标签: android broadcastreceiver broadcast android-broadcast
见this
如果从 Activity 上下文中使用,则正在注册接收器 在该活动中。这意味着您应该取消注册 在活动完成之前被销毁;事实上,如果你不这样做 因此,框架将在删除时清理您泄露的注册 活动并记录错误。因此,如果您使用 Activity 上下文 注册一个静态的接收者(对于进程来说是全局的,而不是 与 Activity 实例相关联),那么该注册将是 在您使用的活动被破坏的任何时候都将其移除。
因此,如果您将 BroadcaseReceiver 与 Activity 关联,则无需取消注册。
【讨论】:
如果您的BroadcastReceiver 是在onCreate() 方法中启动的,则必须取消注册,这样当您的活动再次启动时,它不会再创建另一个,从而导致多个BroadcastReceivers。
【讨论】:
onDestroy() 上销毁前一个。