Android四大组件之Broadcast receiver
来源:互联网 发布:网页数据分析工具 编辑:程序博客网 时间:2024/06/05 20:14
1、Broadcast receiver概述
broadcast receiver 是一个用来响应系统范围内的广播的组件。 很多广播发自于系统本身。—例如, 通知屏幕已经被关闭、电池低电量、照片被拍下的广播。 应用程序也可以发起广播。—例如, 通知其它程序,一些数据被下载到了设备,且可供它们使用。 虽然广播并不提供用户交互界面,它们也可以创建一个状态栏通知 来提醒用户一个广播事件发生了。尽管如此,更多的情形是,一个广播只是进入其它组件的一个“门路”,并试图做一些少量的工作。 例如,它可能发起一个服务,并通过服务执行与这个广播事件相关的工作。
broadcast receiver是BroadcastReceiver
的子类实现,而且每一个广播通过Intent
对象来传递。 更多信息,请阅读 BroadcastReceiver
类。
2、源码:
服务端:
public static final String XXX_BROADCAST = "com.XXX.XXXProvider.XXX_BROADCAST";
public void onBroadcast() { // TODO implement here //使用静态的方式注册广播,可以使用显示意图进行发送广播 Intent broadcast = new Intent(XXX_BROADCAST); broadcast.putExtra("Info", "广播内容"); sendBroadcast(broadcast, null); }
客户端:
protected ProviderBroadcastReceiver receiver;public static final String PEOPLEINFO_BROADCAST = "com.xxx.XXXInfoProvider" + ".PEOPLEINFO_BROADCAST";
/** * 注册广播 */private void registerBroadcast() { IntentFilter counterActionFilter = new IntentFilter(XXX_BROADCAST); receiver = new ProviderBroadcastReceiver(); logger.debug(TAG_PROVIDER + "注册广播!"); getContext().registerReceiver(receiver, counterActionFilter);}/** * 注销广播 */public void unregisterBroadcast() { logger.debug(TAG_PROVIDER + "解绑广播!"); getContext().unregisterReceiver(receiver);}/** * 广播接收端 */public class ProviderBroadcastReceiver extends BroadcastReceiver { String info = null; @Override public void onReceive(Context context, Intent intent) {info= intent.getExtras().getString("Info");logger.debug(TAG_PROVIDER + "广播接收内容:" + info);// 推送信息callBack.onCardDetected(info);}}// 推送信息
callBack.onCardDetected(peopleInfo);
}
}
AndroidManifest.xml文件:
<application android:allowBackup="true" android:label="@string/app_name" android:supportsRtl="true"> <receiver android:name=".xxxProvider$ProviderBroadcastReceiver"> <intent-filter> <action android:name="com.xxx.xxxinfoprovider"/> </intent-filter> </receiver></application>
推荐文章:
Android入门:广播发送者与广播接收者
阅读全文
0 0
- Android四大组件之Broadcast Receiver
- Android的四大组件之Broadcast Receiver
- Android四大组件之Broadcast Receiver
- Android 四大组件 之 Broadcast/Receiver 流程
- Android 四大组件之Broadcast receiver
- Android四大组件之Broadcast Receiver
- Android四大组件之Broadcast Receiver
- android 的四大组件之Broadcast Receiver
- Android四大组件之Broadcast Receiver
- Android四大组件之Broadcast receiver
- Android四大组件之Broadcast Receiver
- 四大组件之Broadcast Receiver
- 四大组件之broadcast receiver
- 四大组件之Broadcast Receiver
- 四大组件之Broadcast Receiver
- Android四大组件--Broadcast Receiver
- android基础知识05:四大组件之Broadcast Receiver
- Android四大组件之广播接收器 Broadcast Receiver
- Oracleの常用字符串函数-yellowcong
- autotools
- android 硬件加速 hardwareAccelerated
- 阿里巴巴2018届校园招聘Java/c++内推面试题2017年
- 安装PHP时遇到的问题
- Android四大组件之Broadcast receiver
- AspectJ在Android中的强势插入应用总结
- MySQL数据库编程汉字乱码问题
- javascript-继承
- Linux功耗管理(14)_Linux common clock framework(1)_概述
- C++11-->单生产者,单消费者问题
- sanlyShi的前端之路一:git命令
- 转——谈一谈归并排序(详细归并模板)
- camera、Matrix概念