四大组件 之一
广播接受者 BroadcasetRecevice
Android中信息传递的机制:
广播:单向 ,群发
创建要素:
1.声明一个继承BroadcasetRecevice
2.在清单文件中声明
包名.类名
要接收广播的话: 要注册广播接受者的过滤条件:
注册广播接受者有两种形式:
第一种: 在清单文件中直接注册:
例子: 接收短信
1.权限问题 接收短信的权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
2.短信的过滤条件
3.修改onRecevice()的内容.
一旦接收到广播就会触发当前这个方法
注意: 在清单文件中注册广播接收者的过滤条件的方法有特性如下:
即使广播接受者所在的应用没有执行,只要广播过滤条件一直就会接收到,并触发onRecevice()方法
第二种广播注册方式:
代码:
1.注册:
2.注销
注意: 在代码当中注册的广播接受者只有当界面存在的时候才能接收.
如果界面不存在,广播就接收不到
清单文件注册与代码注册的区别
1.在清单文件中注册过滤条件: 即使进程不存在,只要过滤条件匹配广播就能接收.
2.在代码注册过滤条件: 界面存在广播才能接收到.使用比较灵活.
代码注册灵活性的体现:
可以在Activity中声明内部类继承BroadcastReceiver
声明成内部类的好处:
当我们在这个界面中注册了我们声明的广播接收者对象的话,当我们接收到广播触发onReceive()方法,在这个方法中是可以直接修改到Activity的成员变量以及调用其方法.
时间: 2024-10-02 17:59:34