1、创建一个名为MyReceiver的广播接收器。
(相关资料图)
2、在onReceive方法中,我们可以从广播附带的意图中获取数据,这是非常重要的,就像收音机一样,包含了很多有用的信息。
3、创建了BroadcastReceiver之后,我们无法让它工作。我们需要为它注册一个指定的广播地址。没有注册广播地址的BroadcastReceiver就像没有频道选择按钮的收音机。
4、虽然所有的功能都可用,但我收不到收音机的信号。下面介绍一下如何为BroadcastReceiver注册一个广播地址。
5、静态注册
6、静态注册是在AndroidManifest.xml文件中配置的,所以让我们为MyReceiver注册一个广播地址:
7、配置以上信息后,MyReceiver就可以在Android . intention . action . my _ broadcast的地址接收任何广播了。注意,这种方式的注册是常驻的,即当应用程序关闭时,
8、如果有广播信息到来,MyReceiver也会被系统调用并自动运行。
9、动态注册
10、动态注册需要在代码中动态指定广播地址并注册。通常,我们在活动或服务中注册广播。让我们来看看注册码:
11、Note that the registered receiver is a method in the Android. content. contex wrapper class, and both activities and services inherit the context wrapper, so they can be called directly.
12、在实际应用中,我们在活动或服务中注册了一个BroadcastReceiver。当此活动或服务被销毁时,如果没有取消注册,系统将报告一个异常。
13、提示我们是否忘记注销。因此,请记住在特定位置取消注册:
14、执行这样一行代码可以解决问题。注意,这种注册方式与静态注册相反,它不是常驻的,也就是说播出会跟随节目的生命周期。
15、我们可以按照以上任意一种方法完成注册,注册完成后,收件人就可以正常工作了。我们可以通过以下方式向它发送广播:
16、注意,sendBroadcast也是android.content.ContextWrapper类中的一个方法,可以以广播的形式发送带有指定地址和参数信息的Intent对象。
17、Conversation broadcast
本文到此结束,希望对大家有所帮助。
本文由用户上传,如有侵权请联系删除!标签: