Android(安卓)BroadcastReceiver
16lz
2021-01-26
一.注册方式:
静态注册:静态注册是在AndroidManifest.xml文件中配置的
<receiverandroid:name=".MyReceiver"><intent-filter><actionandroid:name="android.intent.action.MY_BROADCAST"/><categoryandroid:name="android.intent.category.DEFAULT"/></intent-filter></receiver>
配置了以上信息之后,只要是android.intent.action.MY_BROADCAST这个地址的广播,MyReceiver都能够接收的到。
属于常驻型的,也就是说当应用关闭后,如果有广播信息传来,MyReceiver也会被系统调用而自动运行。
动态注册:在代码中动态的指定广播地址并注册,通常我们是在Activity或Service注册一个广播。
一般:在onStart中注册,在onStop/onDestroy中取消unregisterReceiver
/***注册*/IntentFilterintentFilter=newIntentFilter();intentFilter.addAction(String);//为BroadcastReceiver指定action,使之用于接收同action的广播context.registerReceiver(BroadcastReceiver,intentFilter);
/***取消*/unregisterReceiver(rhelper);
区别:
1.动态注册较静态注册灵活。
2.当静态注册一个BroadcastReceiver时,不论应用程序是启动与否。都可以接收对应的广播。
3.动态注册的时候,如果不执行unregisterReceiver();方法取消注册,跟静态是一样的。
4.但是当动态注册如果执行unregisterReceiver();方法取消注册,就不能接收广播了。
二.广播的发送
三.广播的接收
四.广播的分类
1.http://blog.csdn.net/liuhe688/article/details/6955668/
http://www.cnblogs.com/lwbqqyumidi/p/4168017.html
http://yangguangfu.iteye.com/blog/1063732
http://www.cnblogs.com/jico/articles/1838293.html
更多相关文章
- Android反射基础
- Android(安卓)自定义动态注册Broadcast框架
- Android(安卓)LoadingDialog一些问题
- 说说Android的广播(5) - 广播的历史
- Android使用Broadcast实现无序静态与动态广播功能
- Wifi模块—源码分析Wifi初始化(Android(安卓)P)
- Android中的广播机制(二)----- 发送广播
- 处理JNI ERROR (app bug): accessed stale local reference 0xbc
- Android(安卓)-- Broadcast接收