Android Studio中广播的使用方法3-1

1 广播概述

广播可以用在应用程序之间或者应用程序与安卓系统之间传递信息。当指定的事件发生时,产生广播通知对该事件感兴趣的应用程序。

广播分为系统广播和自定义广播。系统广播即为Android系统在发生各种系统事件时发送的广播,例如系统启动或设置开始充电时,Android系统会发送相应的广播;自定义广播即为应用程序自己定义的广播。

无论是系统广播还是自定义广播,都需要BroadcastReceiver类即广播接收器来接收广播。

2 创建广播接收器

广播接收器即为BroadcastReceiver类,用来接收系统广播或者自定义广播。创建广播接收器的步骤为首先添加BroadcastReceiver类的子类,之后为该子类添加相应代码,对接收到的广播进行处理。

2.1 添加BroadcastReceiver类的子类

首先选中代码所在包,之后在右键菜单中选择“New->Other->Broadcast Receiver”,如图1所示。

图1 通过菜单添加Broadcast Receiver

之后,在弹出的“New Android Component”即“安卓新组件”的对话框中,设置添加的BroadcastReceiver类的子类的“Class Name”(类名)、是否是“Exported”(被其它应用隐式调用)、是否是“Enabled”(被系统实例化)和子类的“Source Language”(源代码语言类型),如图2所示。

图2 “安卓新组件”的对话框

 2.2 添加相应代码

在项目中添加了BroadcastReceiver类的子类后,接下来为该子类添加相应代码,对接收到的广播进行处理。

首先打开BroadcastReceiver类的子类MyReceiver2对应的源代码文件,如图3所示。

图3  MyReceiver2源代码

 从图3中可以看出,MyReceiver2类重写了父类的onReceive()方法,当其收到相应的广播后,会调用该方法。onReceive()方法的第一个参数context表示上下文对象;第二个参数intent是接收到的Intent对象,也可以看作是接受到的广播消息。

相关链接1 广播消息本身会被封装在一个Intent对象中,该对象的操作字符串会标识所发生的事件(例如 android.intent.action.AIRPLANE_MODE)。该 Intent 可能还包含绑定到其 extra 字段中的附加信息。

接下来就是在onReceive()方法编写代码,如图4所示。

图4 重写onReceive()方法

 其中,通过StringBuilder类的对象sb(图4①)构造一个字符串,该字符串中包含了收到广播消息对应的动作(图4②)和数据(图4③),最后将sb转换为字符串(图4④)并通过Toast显示(图4⑤)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值