Android学习笔记(十七) BroadcastReceiver
1、接收广播
- 创建一个类,继承BroadcastReceiver,复写其中的onReceive()方法
- 在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、发送广播
- 创建需要发送的Intent
- 通过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); }