Android四大组件:Activity ,BroadcastReceive广播接收器,Service 服务,Content Provider内容提供者;
简单介绍Android广播:
一、注册
1、动态注册
在清单文件中注册
2、静态注册
在Activity中注册
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
receiver = new Airplane1Receiver();
//reg注册
registerReceiver(receiver, filter);
二、优先级范围
1、清单文件中priority的范围是(-1000-1000)
2、在代码中 filter.setPriority(Interger.MAXVALUE)
三、自定义广播
Intent intent = new Intent();
// 设置广播的频段
intent.setAction("cn.cong.broadcastdemo.alsdjkflajafad");
intent.putExtra("msg", "这是自定义的广播");
sendBroadcast(intent);// 普通广播、无序广播
四、有序广播,无序广播
有序广播:sendOrderedBroadcast()
也可以通过优先级来确定顺序,前一个接受者可以中断广播,使后面的接受者接收不到
可以通过getResultData()方法获取到send~()方法中的参数内容
可以通过setResultData()修改该内容
可以通过abortBroadcast()中断广播,使优先级低于自己的广播接收不到
send~()若指定广播发送的目的地,则目的地会额外收到信息(即使被中断)
无序广播:sendBroadcast()
可以通过设置优先级来确定顺序,但是接受者之间没有交互。
简单介绍Android广播:
一、注册
1、动态注册
在清单文件中注册
2、静态注册
在Activity中注册
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
receiver = new Airplane1Receiver();
//reg注册
registerReceiver(receiver, filter);
二、优先级范围
1、清单文件中priority的范围是(-1000-1000)
2、在代码中 filter.setPriority(Interger.MAXVALUE)
三、自定义广播
Intent intent = new Intent();
// 设置广播的频段
intent.setAction("cn.cong.broadcastdemo.alsdjkflajafad");
intent.putExtra("msg", "这是自定义的广播");
sendBroadcast(intent);// 普通广播、无序广播
四、有序广播,无序广播
有序广播:sendOrderedBroadcast()
也可以通过优先级来确定顺序,前一个接受者可以中断广播,使后面的接受者接收不到
可以通过getResultData()方法获取到send~()方法中的参数内容
可以通过setResultData()修改该内容
可以通过abortBroadcast()中断广播,使优先级低于自己的广播接收不到
send~()若指定广播发送的目的地,则目的地会额外收到信息(即使被中断)
无序广播:sendBroadcast()
可以通过设置优先级来确定顺序,但是接受者之间没有交互。