自定义动态注册广播和静态注册广播
2023-09-27 14:19:41 时间
一.动态注册
关键代码
class MyActivity extentds Activity{ //DYNC_BROADCAST可以随意,但注册广播和发送广播时action应该保持一致 private static final String DYNC_BROADCAST = "guo.com.example.dyncBroadcastReceiver"; private DyncBroadcastReceiver dyncBroadcastReceiver = new DyncBroadcastReceiver(); @Override protected void onCreate(Bundle savedInstanceState) { ..... // 注册广播 IntentFilter iFilter = new IntentFilter(); iFilter.addAction(DYNC_BROADCAST); registerReceiver(dyncBroadcastReceiver, iFilter); } // 发送广播通知 protected void sendBroadcast(){ Intent intent = new Intent(); intent.setAction(DYNC_BROADCAST); sendBroacdcast(intent); }
@Override
protected void onDestroy() {
unregisterReceiver(dyncBroadcastReceiver);
super.onDestroy();
}
}
二.静态注册
class MyActivity extentds Activity{ @Override protected void onCreate(Bundle savedInstanceState) { ..... } // 发送广播通知 protected void sendBroadcast(){ Intent intent = new Intent(); intent.setAction("guo.com.example.MyBroadcast"); sendBroacdcast(intent); } }
AndroidManifest.xml
<receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="guo.com.example.MyBroadcast" /> </intent-filter> </receiver>
两者区别:
动态注册广播需要在每个活动页注册,静态广播可以实现注册到所有活动页.因为动态注册逻辑写在onCreate中,所以应用如果没启动,则无法通知.静态注册可不受此限制.
相关文章
- Android深入理解JNI(一)JNI原理与静态、动态注册
- Lodop、c-lodop注册与角色简短问答
- Camtasia Studio喀秋莎2021安装下载注册及使用的意外问题解决办法,值得收藏
- spring cloud 向eureka注册中心 注册provider
- Freenom注册失败的处理,recaptcha跳转
- 第十五章 加密算法实例1--注册登录(消息摘要算法)
- Android 四大组件之一:BroadCastReceiver动态注册广播流程
- 万字长文 | Spring Cloud Alibaba组件之Nacos实战及Nacos客户端服务注册源码解析
- 注册账号.
- regasm注册com组件
- 【8】Broadcast 自定义 静态&动态广播注册
- 【Google Play】创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 )
- IAR for STM8介绍、下载、安装与注册--转
- 6.分析request_irq和free_irq函数如何注册注销中断(详解)
- doubbo+zookeeper服务注册发现
- 前端学习之VUE基础三:组件化开发想法、注册组件、组件间数据交互