2 qq 31156769 qq_31156769 于 2016.05.11 15:52 提问

android broadCastReceive动态注册后必须调用注销吗?

android broadCastReceive动态注册后必须调用注销吗?
静态注册就算关闭程序,还会接收广播吗,静态注册能注销吗?

1个回答

Grindstone_Fos
Grindstone_Fos   2016.05.11 23:26

最近在学广播接受者。
印象中动态注册了不一定要注销的(不会直接导致报错),但是会一直占用资源,所以不用了建议注销掉。
刚刚上网查了查:
动态注册和静态注册一个BroadcastReceiver的区别:
动态注册较静态注册灵活。实验证明:当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。都可以接受对应的广播。
动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。但是如果执行该方法,当执行过以后,就不能接受广播了。

对程序在不启动时也能接受到广播存疑。有空实验一下。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【Android 一般进阶】动态广播注册注销时机
个人建议动态广播在activity 的onResume()里注册,onPause里注销。 大家都知道activity的生命周期方法基本上的成对,例如onCreate对应onDestory,onStart对应onStop,onResume对于onPause。 对于动态广播来说,有注册必然得有注销,这也得成对出现。重复注册注销或者注册了忘了注销这都不好,后者会报Are you missing a
Android-动态注册广播和注销广播
Android-动态注册广播和注销广播静态注册广播广播机制在安卓开发很常见也很重要,它既可以静态注册,也可以 动态注册和注销,广播可以设置优先级。 首先是静态 activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout
BroadcastReceiver之动态注册监听网络状态变化
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
Broadcast的使用(静态注册和动态注册)
BroadcastReceiver: 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Act
Android之广播机制—动态注册
动态注册,即在代码中完成注册。好处是我们可以自由的控制注册与注销。 灵活性方面有很大的优势。 需要注意的是,动态注册的广播接收器一定要取消注册才行。 @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); support
BroadcastReceive基础知识总结
1、普通广播 2、有序广播 3、粘性广播 4、电量、开机广播
android_广播者_只能用代码注册(动态注册)的广播接收者_监听屏幕的状态
在系统里面有这样的广播接收者,它们出现的频率极高, 如果可以在清单文件里面注册广播接收者,那么就会造成一种后果,一旦广播到来,那么将会有一大批的应用随之启动。 如: 屏幕锁屏和点亮、电池电量变更. 那么这样一大批的应用启动,用户手机就很不流畅了.所以,如果想监听这些广播,就需要 使用代码注册public class MainActivity extends Activity { priva
Android 监听开机广播启动服务 动态注册时间变化监听广播
开机广播权限 开机广播 注册    开机广播 public class BootedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent i
Android Studio开发基础之动态注册与注销BroadcastReceiver
1、New→Other→BroadcastReceiver package com.example.lhb.startservice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toa
BroadcastReceiver生命周期探讨
前言之前做线控耳机连点两下切下一首歌的需求时, 曾经尝试在BroadcastReceiver中用一个成员变量保存最后一次按下的时间, 但后来发现这个值一直是初始值, 对它赋值后, 再次收到Intent时发现它的值又变成初始值了. 后来看到一些问题, 问BroadcastReceiver的生命周期, 按理说它就一个onReceive能有什么生命周期, 其实这里问的生命周期和我们平时说的Activit