《第一行代码--Android》阅读笔记之广播
2015-08-12 19:12
549 查看
广播接收器
1.注册方式
动态注册:在程序中注册,如在Activity里的onCreate()方法中注册
静态注册:在AndroidManifest.xml中注册
2.可接收哪些广播
接收系统消息:如网络状态变化、系统完成启动、电量状态
接收应用消息:如短信来电通知
3.使用注意
不允许在onReceive方法中执行耗时操作,不允许启动新线程
一般用于启动其他组件,如Service, 状态栏通知
发送广播
1.广播类型
按接收方式:标准广播(默认)、有序广播
按广播范围:全局广播(默认)、本地广播
2.发送方式
在Activity中可直接用sendBroadcast(), sendOrderedBroadcast()方法
3.发送了什么
发送了一个Intent对象
onCreate(){
...
public void onClick(View v) {
Intent intent = new Intent("com.example.broadcasttest. MY_BROADCAST");
}
...
}
因此可以传送数据,可作为进程间公开通信的一种方式
4.标准广播
一对多,接收器同时接收
5.有序广播
接收器依照优先级顺序流水线式传递广播
可被中断(拦截)
在接收器onReceive()方法中使用abortBroadcast()停止传递
在AndroidManifest.xml中设置优先级
6.本地广播
使用LocalBroadcastManager(单例)的sendBroadcast()方法发送广播
使用LocalReceiver接收广播
本地广播只能动态注册
1.注册方式
动态注册:在程序中注册,如在Activity里的onCreate()方法中注册
静态注册:在AndroidManifest.xml中注册
2.可接收哪些广播
接收系统消息:如网络状态变化、系统完成启动、电量状态
接收应用消息:如短信来电通知
3.使用注意
不允许在onReceive方法中执行耗时操作,不允许启动新线程
一般用于启动其他组件,如Service, 状态栏通知
发送广播
1.广播类型
按接收方式:标准广播(默认)、有序广播
按广播范围:全局广播(默认)、本地广播
2.发送方式
在Activity中可直接用sendBroadcast(), sendOrderedBroadcast()方法
3.发送了什么
发送了一个Intent对象
onCreate(){
...
public void onClick(View v) {
Intent intent = new Intent("com.example.broadcasttest. MY_BROADCAST");
sendBroadcast(intent);
}
...
}
因此可以传送数据,可作为进程间公开通信的一种方式
4.标准广播
一对多,接收器同时接收
5.有序广播
接收器依照优先级顺序流水线式传递广播
可被中断(拦截)
在接收器onReceive()方法中使用abortBroadcast()停止传递
在AndroidManifest.xml中设置优先级
6.本地广播
使用LocalBroadcastManager(单例)的sendBroadcast()方法发送广播
使用LocalReceiver接收广播
本地广播只能动态注册
相关文章推荐
- android传感器使用规范(3)
- Activity界面跳转及其生命周期
- android传感器使用规范(2)
- android传感器使用规范(1)
- 知乎-Android自动化测试工具总结
- 【移动安全】Android App Smail代码动态跟踪调试方法
- AndroidStudio project添加.so文件方法
- android inactive InputConnection
- Android中对日期进行排序
- android_线
- android中获取屏幕的信息
- 使用Genymotion来运行Android Studio开发的程序
- iOS到Android到底有多远
- android 远程服务设计要点
- Windows下部署Appium教程(Android App自动化测试框架搭建)
- Android开发必知--几种不同对话框的实现
- Unable to resolve target 'android-14'
- android 屏幕分辨率总结
- Android获取手机相关信息
- Android获取手机相关信息