android 学习教程六之----四大组件之一——BroadcastReciever
2014-11-10 22:30
288 查看
博客好长时间没有更新了,做个基础总结,继续之前的,温故而知新!该系列为入门篇,大神可以绕道!
大家好,今天给大家详解一下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中的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 学习教程五---- 四大组件之一Activity 详解
- Android 四大组件学习之activity的四种加载模式介绍
- android学习日记19--四大组件之BroadcastReciver(广播接收者)
- Android四大组件学习(一)---Activity
- Android 四大组件学习之Activity一
- Android四大组件之一Service介绍-android学习之旅(十二)
- Android学习之路——Android四大组件之activity(一)
- Android学习之四大组件
- Android学习之路——Android四大组件之activity(二)数据的传递
- Android成长日记-Android四大组件之Service组件的学习
- Android四大组件学习
- Android学习日志12__四大组件03__BroadcastReceiver
- android 四大组件之service学习总结(二)
- 黑马程序员------学习笔记(10)Android四大组件
- Android四大组件之Content Provider的学习
- android学习日记19--四大组件之Services(服务)
- Android学习日志10__四大组件01__activity
- Android学习日志11__四大组件02__service
- Android四大组件之一Service介绍-android学习之旅(十二)
- Android四大组件深入学习