android中的自定义广播
2015-03-06 14:01
246 查看
首先呢 我们创建的其实是广播接收者 是接受广播的 而不是处理广播的。
我们在发送广播的时候 其实就是和开启一个activity一样 借助intent来实现
记好我们在发送广播的时候 类似于我们的 隐式开启activity 通过action来实现。
我们创建广播的时候 注意需要注册的
广播特殊既可以在清单文件里面注册 也可以在代码里面注册。
我们代码里面注册广播接受者的时候
是在主activity 最先加载的activty里面注册的。
IntentFilter filter = new IntentFilter();
filter.addAction("com.itheima40.help");
// java代码注册广播接受者, 特点: 优先级要比清单文件的要高, 当前的广播接受者的生命周期的期限和activity是相关联的.
registerReceiver(new LeiFengReceiver(), filter);
@Override
protected void onDestroy() {
super.onDestroy();
// 解注册
unregisterReceiver(leiFengReceiver);
}
<receiver android:name="com.itheima40.sendbroadcast.Level1Receiver" >
<intent-filter android:priority="1000" >
<action android:name="com.itheima40.songwennuan" />
</intent-filter>
</receiver>
注意 在清单文件里面注册的时候 我们还可以设置他的优先级别
创建广播接受者:
主要是 当我们接受到这个广播之后 我们要进行的操作。
一个广播接收者 还可以注册多个动作 随后 当我们
public class WDGReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if("com.itheima40.help".equals(action)) {
System.out.println("乡长王大干: 有人喊救命, 假装没听见");
} else if("com.itheima40.songwennuan".equals(action)) {
String resultData = getResultData();
System.out.println("乡长王大干收到通知, 送温暖: " + resultData);
//setResultData("一桶油+两箱白像方便面");
abortBroadcast();
}
}
}
传递数据的时候 我们可以设置数据
String resultData = getResultData();
System.out.println("市办公厅收到通知, 送温暖: " + resultData);
setResultData("500块钱");
获得传递的数据 同时进行更改。
还可以终止广播的传送。
发送广播:
public void sendBroadcast(View v) {
Intent intent = new Intent("com.itheima40.help");
sendBroadcast(intent); // 发送一个广播, 广播的动作为: com.itheima40.help
}
/**
* 有序广播
* @param v
*/
public void sendOrderBroadcast(View v) {
Intent intent = new Intent("com.itheima40.songwennuan");
sendOrderedBroadcast(
intent,
null,
new LeiFengReceiver(), // 无论是否拦截这个有序广播, 最终此参数指定的广播接受者必须收到.
null,
0,
"10000块钱",
null);
}
我们在发送广播的时候 其实就是和开启一个activity一样 借助intent来实现
记好我们在发送广播的时候 类似于我们的 隐式开启activity 通过action来实现。
我们创建广播的时候 注意需要注册的
广播特殊既可以在清单文件里面注册 也可以在代码里面注册。
我们代码里面注册广播接受者的时候
是在主activity 最先加载的activty里面注册的。
IntentFilter filter = new IntentFilter();
filter.addAction("com.itheima40.help");
// java代码注册广播接受者, 特点: 优先级要比清单文件的要高, 当前的广播接受者的生命周期的期限和activity是相关联的.
registerReceiver(new LeiFengReceiver(), filter);
@Override
protected void onDestroy() {
super.onDestroy();
// 解注册
unregisterReceiver(leiFengReceiver);
}
<receiver android:name="com.itheima40.sendbroadcast.Level1Receiver" >
<intent-filter android:priority="1000" >
<action android:name="com.itheima40.songwennuan" />
</intent-filter>
</receiver>
注意 在清单文件里面注册的时候 我们还可以设置他的优先级别
创建广播接受者:
主要是 当我们接受到这个广播之后 我们要进行的操作。
一个广播接收者 还可以注册多个动作 随后 当我们
public class WDGReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if("com.itheima40.help".equals(action)) {
System.out.println("乡长王大干: 有人喊救命, 假装没听见");
} else if("com.itheima40.songwennuan".equals(action)) {
String resultData = getResultData();
System.out.println("乡长王大干收到通知, 送温暖: " + resultData);
//setResultData("一桶油+两箱白像方便面");
abortBroadcast();
}
}
}
传递数据的时候 我们可以设置数据
String resultData = getResultData();
System.out.println("市办公厅收到通知, 送温暖: " + resultData);
setResultData("500块钱");
获得传递的数据 同时进行更改。
还可以终止广播的传送。
发送广播:
public void sendBroadcast(View v) {
Intent intent = new Intent("com.itheima40.help");
sendBroadcast(intent); // 发送一个广播, 广播的动作为: com.itheima40.help
}
/**
* 有序广播
* @param v
*/
public void sendOrderBroadcast(View v) {
Intent intent = new Intent("com.itheima40.songwennuan");
sendOrderedBroadcast(
intent,
null,
new LeiFengReceiver(), // 无论是否拦截这个有序广播, 最终此参数指定的广播接受者必须收到.
null,
0,
"10000块钱",
null);
}
相关文章推荐
- android中广播的两种启动方式浅析【自定义Action】
- Android添加自定义广播事件(带多个参数)
- Android自定义发送无序广播
- Android 自定义广播实现过程
- android#boardcast#发送自定义广播
- 自定义android手机的secret_code的广播发送(拨号盘输入触发);
- Android--中做到自定义的广播只能有指定的app接收
- android自定义广播实现app完全退出
- android自定义广播实现app完全退出
- Android中如何做到自定义的广播只能有指定的app接收
- 最简单的自定义Android广播
- android 发送自定义广播以及接收自定义广播
- Android学习篇章30-Broadcast广播基础-自定义广播(动态广播)
- android接收adb发送的系统广播及自定义广播
- Android 进价5_自定义广播 通过广播更新ListView的适配器 下载管理
- Android 自定义广播
- Android学习篇章29-Broadcast广播基础-自定义广播(静态广播)
- android五大组件之广播机制---自定义广播
- Android自定义发送本地广播
- 第91章、广播之二自定义电台与听众(从零开始学Android)