关闭

Android四大组件之:Broadcast

标签: androidBroadcard
109人阅读 评论(0) 收藏 举报
   晚上好!今天继续我们的约定,每日一博之Android四大组件之Broadcast。Broadcast 中文:广播,Android中广播是一种广泛运用在程序之间传输信息的机制。如我们日常收音机广播。广播一定要有人发出,才会有人收到,所以就会有一个广播发出者和一个广播接受者。我们可以通过下面这张图理解:


下面我们来实现一个简单的广播实例。广播由动态注册和静态注册两种注册方式,下面先介绍动态注册,贴代码





首先,我们创建一个类,继承BroadcastReceiver,并实现onReceived() 方法。这个就是一个接收者,当接收到广播后,就会执行onReceived() 方法。



主界面中,创建三个按钮,并添加监听方法



第一个按钮对广播进行动态注册,通过IntentFilter.addAction() 方法添加广播的标识,然后通过registerReceived() 对广播进行注册。
第二个按钮用sendBroadca() 方法,发送一个用Intent携带信息的广播。其中setAction() 主要是用来添加广播的标识。
第三个按钮通过unregisterReceiver() 方法对广播进行取消注册
最后分别按下注册,发送会得到以下结果



这里就是第一种动态注册广播的方法
接下来说一说静态注册广播,与动态方法相比,主要在注册方法上不同。静态方法在 AndroidManifest.xml中注册,如下
<receiver android:name="com.example.broadcarddome.MyBroadcardrecevier">
            <intent-filter android:priority="100">
                <action android:name="com.Broadcard.LinLitterWhite"/>
                </intent-filter>
        </receiver>
把第一个案例中的注册按钮删除,再次运行,可以得到类似的结果。
其中android:priority="100" 为优先级,当一个app中有多个广播时,可以通过这个来决定优先级,数值越高,优先级越高。有序广播在发送的时候要
用sendOrderedBroadcast()来送。到这里,Android中的广播就算是入门啦。
那广播有什么用?我们可以通过广播接收手机收到短信时的广播,后者收到来电的广播,这时我们可以通过广播收到的参数进行骚扰拦截。
以上是对广播的基本介绍,有错误的地方,欢迎大家指出。明天同一时间再见!

   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2495次
    • 积分:190
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论