[android]Broadcast与BroadcastReceiver

Broadcast

为什么需要广播(broadcast)

    广播机制,本质上它就是一种组件间的通信方式。系统的各个组件可以松耦合地组织在一起,这样系统就具有高度的可扩展性,容易与其它系统进行集成。在安卓中,一些操作完成后,会自动发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。
    广播的机制,不管对方有没有接收到,有点类似UDP原理,只管发送,不管对方接收与否。

如何定义一个广播

Android广播机制包含三个基本要素:广播(Broadcast) - 用于发送广播;广播接收器(BroadcastReceiver) - 用于接收广播;意图内容(Intent)-用于保存广播相关信息的媒介。Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
  只需要使用方法sendBroadcast(intent)就可以发送一个广播。
<span style="font-size:14px;">// 指定广播目标Action</span>
<span style="font-size:14px;">Intent intent = new Intent("MyReceiver_Action");</span>
<span style="font-size:14px;">// 可通过Intent携带消息</span>
<span style="font-size:14px;">intent.putExtra("msg", "发送广播");</span>
<span style="font-size:14px;">// 发送广播消息</span>
<span style="font-size:14px;">sendBroadcast(intent);</span>



BroadcastReceiver

如何声明一个广播接收者

1、通过Context.registerReceiver( )

2、通过清单文件(静态)注册


















posted @ 2015-05-19 20:40  !x_x!  阅读(174)  评论(0)    收藏  举报