android 学习教程六之----四大组件之一——BroadcastReciever
来源:互联网 发布:普通网络作家收入 编辑:程序博客网 时间:2024/05/20 06:39
博客好长时间没有更新了,做个基础总结,继续之前的,温故而知新!该系列为入门篇,大神可以绕道!
大家好,今天给大家详解一下Android中的BroadcastReceiver。在Android中,在Android中,Broadcast是一种广
泛运用的在应用程序之间传输信息的机制是一种广泛运用的在应用程序之间传输信息的机制,本质上是一种全局的监
听器,用于监听系统全局的广播消息。
BroadcastReceiver 有两种注册方式:一:静态注册方式 ;二:动态注册方式
一:静态注册方式就是在Anroidmanifest.xml中配置:
例子:
<receiver android:name="MyReceiver" >
<intent-filter>
<action android:name="android.intent.myfirstbroadcast" />
</intent-filter>
</receiver>
发送Activity 关键代码如下:
String actionName = "android.intent.myfirstbroadcast"; //定义一个Action
Intent broadcastIntent = new Intent(actionName);
sendBroadcast(broadcastIntent); //发送广播
接受消息广播类需要继承BroadcastReceiver如实例 MyReceiver:关键代码如下:
public class MyReceiver extends BroadcastReceiver{
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Toast toast = Toast.makeText(context, "接受到的广播消为"+intent.getAction, Toast.LENGTH_SHORT);
toast.show();
}
二:动态注册方式:注册这样的事件由应用自己处理,通常是在onResume事件中通过registerReceiver进行注册,
在onPause等事件中通过unregisterReceiver取消注册。通过这样的注册方式使其能过在运行期间保持对事件的关注。
protected void onResume() {
super.onResume();
System.out.println("====onResume=====");
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.myfirstbroadcast");
MyReceiver myfisrtreceiver =new MyReceiver();//定义receiver对象
registerReceiver(myfirstreceiver, intentFilter); //注册
}
protected void onPause() {
super.onPause();
System.out.println("====onPause====");
unregisterReceiver(myfistreceiver); //在onPause中反注册
}
对应广播消息接受类MyReceiver :
public MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast toast = Toast.makeText(context, "发送动态注册广播", Toast.LENGTH_SHORT);
toast.show();
}
};
两种注册方式已讲完,关于深入理解广播机制,请查看罗升阳的广播注册监听机制源码剖析,这里主要是入门讲解。
context 提供了两种方式用于发送广播:
sendBroadcast :用于发送正常的Broadcast
sendOrderedBroadcast :用于发送有序的Bradcast .
- android 学习教程六之----四大组件之一——BroadcastReciever
- [Android知识体系]之四大组件:broadcastReciever
- Android 四大组件学习之Activity六
- Android 四大组件学习之Service六
- Android之四大组件之一-Activity(六)扩展
- android 学习教程五---- 四大组件之一Activity 详解
- [Android知识体系]之四大组件:broadcastReciever(LocalBroadcastManager)
- Android四大组件之一——广播
- Android四大组件之一——Activity123
- Android四大组件之一——Activity
- Android四大组件之一 ——广播
- Android四大组件之一 ——广播
- android学习笔记之六:四大组件之ContentProvider
- Android开发学习之四大组件之一 --- ContentProvider
- Android四大组件之一之service
- Android之四大组件之一-Service(二)
- Android学习笔记(1)————Android四大组件之一(Activity)
- Android学习笔记(1)————Android四大组件之一(Activity)
- CUP对内存管理精华总(vector机制)
- Windows位图和调色板
- uva--10160+dfs+剪枝
- 模拟电子技术100问
- 已知坐标求多边形面积
- android 学习教程六之----四大组件之一——BroadcastReciever
- R语言线性回归预测网页流量
- Intellij Idea设置自定义调试签名
- hdu - 1428 - 漫步校园(bfs + dp)
- 再探.NET的PE文件结构(安全篇)
- 匹配两个字符串的最大子串
- 115. Calendar
- POJ3050 Hopscotch 【DFS】
- 字符读取流缓冲区 练习 笔记