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

本文介绍了在Android中如何发送和接收自定义广播。通过Intent设置Action和扩展数据来发送自定义广播,而在接收端,通过过滤器匹配Action并获取Intent中的扩展信息来处理接收到的数据。此过程对于应用程序间通信和内部模块间通信具有重要意义。
摘要由CSDN通过智能技术生成

5 接收自定义广播

在“2 创建广播接收器”中创建的广播接收器除了可以接收系统广播之外,还可以接收其他应用程序或本程序发送的自定义广播。

5.1 发送自定义广播

在“2.2 添加相应代码”中提到,广播消息本身会被封装在一个Intent对象中,因此,发送自定义广播也是通过Intent实现的,如图9所示。

图9 发送自定义广播

其中,图9①定义了Intent类的对象intent;图9②通过setAction()方法设置了intent的Action(活动);图9③通过putExtra()方法设置了intent的扩展数据,“msg”是扩展数据的名称,“现在正在广播”是扩展数据的内容,接收端可以根据扩展数据的名称找到其内容;图9④通过sendBroadcast()方法实现自定义数据的发送。

5.2 接收自定义数据

接收自定以数据与“2.2 添加相应代码”和“3 注册广播接收器”中提到的创建广播接收器以及注册广播接收器的代码类似。

5.2.1 添加处理消息的代码

在“2.2 添加相应代码”中提到的自定义广播接收器MyReceiver2的onReceive()方法中添加如图10所示的代码。

图10 处理消息

 其中,图10①中的intent是Intent类的对象,即收到的广播消息,getAction()方法获取广播消息中的Action(活动),从“5.1 发送自定义广播”中可知,自定义广播的Action(活动)的值是“yang”;图10②对接收到的广播的活动进行判断,如果是“yang”,即为自定义广播;通过getStringExtra()方法获取广播中的扩展信息,“msg”是“5.1 发送自定义广播

”提到的广播扩展信息的名称,此时getStringExtra()方法会返回扩展信息的值,即“现在正在广播”。

5.2.2 注册广播接收器

为了接收自定义数据而注册的广播接收器的代码如图11所示。


图11 接收自定义数据

 与图5相比,只是多出了为IntentFilter类的对象filter添加“yang”的Action(动作),因为自定义广播的Action(活动)是“yang”。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值