如何接收广播;如何发送广播

如何接受广播?

  接受广播首先要编写一个广播接收器类,该类必须从BroadcastReceiver或其子类继承。

 在BroadcastReceiver.onReceive(Context context,Intent intent)方法中编写处理广播的代码。但要注意,广播接收器必须在AndroidManifest.xml文件中注册,代码如下:

  <receiver android:name=".ShortMessageReceiver"

    android:enable="true">

    <intent-filter>

      <!-- 指定可以接收的Broadcast Action-->

      <action android:name=android.provider.Telephony.SMS_RECEIVED"/>

    </intent-filter>

  </receiver>

   如果同一个广播接收器处理多个广播,可以使用intent.getAction方法判断当前接受到的是哪一个广播,代码如下:

      if("action1".equals(intent.getAction())){

        ......}

      else if("action2".equals(intent.getAction())){

        ......}

 

如何发送广播?

  通过sendBroadcast方法发送广播。

//通过intent参数可以指定一个广播动作
public void sendBroadcast(Intent intent)

下面的代码发送了一个广播,并添加了广播数据和category
//指定广播动作
Intent broadcastIntent=new Intent();
broadcastIntent.setAction("mobile.android.MYBROADCAST");
//添加category
broadcastIntent.addCategory("mobile.android.mycategory");
broadcastIntent.putExtra("name","broadcast_data");
//发送广播
sendBroadcast(broadcastIntent);

 

 

posted @ 2014-03-06 21:08  我是大嘴猴  阅读(830)  评论(0编辑  收藏  举报