首页 > 代码库 > Android学习笔记(十七) BroadcastReceiver

Android学习笔记(十七) BroadcastReceiver

1、接收广播

  1. 创建一个类,继承BroadcastReceiver,复写其中的onReceive()方法
  2. 在AndroidManifest.xml文件中注册该BroadcastReceiver

设置完成之后如果有符合条件的广播发送出来,系统会自动生成一个对应的BroadcastReceiver对象,然后调用里面的onReceive()方法。执行完该方法,这个BoadcastReceiver对象即会被销毁。下次再触发时生成的是新的BroadcastReceiver对象。

public class MyReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){
        //doSomething
    }
}
<receiver android:name=".MyReceiver">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    </intent-filter>
</Receiver>

2、发送广播

  1. 创建需要发送的Intent
  2. 通过sendBroadcast()或sendOrderedBroadcast()来发送Broadcast
public void onClick(View v){
    //创建Intent对象
    Intent intent = new Intent();
    intent.setAction("android.provider.Telephony.SMS_RECEIVED");
    intent.putExtra("msg","消息");
    //发送广播
    sendBroadcast(intent);
}

Android学习笔记(十七) BroadcastReceiver