Android -- Android广播
静态广播,又称之为常驻广播,
动态广播
唯一的区别就是注册的方式不同,在AndroidManifest.xml注册的话就是全局广播,如果在某一个Avtivity中注册的话就是局部广播【动态注册】
LocalBroadcastManager【本地广播管理,只在当前应用内进行传播】
//发送广播 Intent intent = new Intent("cn.coreqi.update"); //广播的行为 LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
/** * 接受处理广播 */ private class MyBroadcast extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()){ case "cn.coreqi.update": break; } } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_handler); MyBroadcast myBroadcast = new MyBroadcast(); IntentFilter intentFilter = new IntentFilter(); //意图筛选 //当前页面接受处理那些广播, intentFilter.addAction("cn.coreqi.update"); //在页面中注册广播,*在页面注册广播后,需要在onDestroy生命周期方法接触注册,否则容易引起内存泄漏 LocalBroadcastManager.getInstance(this).registerReceiver(myBroadcast,intentFilter); } @Override protected void onDestroy() { super.onDestroy(); MyBroadcast myBroadcast = new MyBroadcast(); LocalBroadcastManager.getInstance(this).unregisterReceiver(myBroadcast); }
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/12172550.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步