Android广播机制(BroadcastReceiver)
注册BroadcastReceiver
1在AndroidManifest.xml注册(关闭app后还能接收)
androidManifest.xml文件
<receiver android:name=".MyBroadcastReceiver">
<!--过滤器,监听到系统发出的事件是自身需要的时才做反应-->
<intent-filter>
<action android:name="android.intent.action.EDIT"/>
</intent-filter>
</receiver>
MyBroadcasrRecevier.java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//收到广播后的处理代码
Log.e("broadcast","MyBroadcastReceiver");
}
}
MainActivity.java
MyBroadcastReceiver br=new MyBroadcastReceiver();
Intent intent=new Intent();
intent.setAction(Intent.ACTION_EDIT);
//注册事件
MainActivity.this.sendBroadcast(intent);
2代码中注册(在需要的地方注册,如用于更新UI 注册:registerReceiver(receiver,filter);取消注册:unregisterReceiver(receiver);)
需要添加BroadcastReceiver的java文件
MyBroadcastReceiver br=new MyBroadcastReceiver();
//生成一个IntentFilter对象
IntentFilter filter=new IntentFilter();
//为InentFilter添加一个Action
filter.addAction(SMS_ACTION);
注册BroadcastReceiver
1在AndroidManifest.xml注册(关闭app后还能接收)
androidManifest.xml文件
<receiver android:name=".MyBroadcastReceiver">
<!--过滤器,监听到系统发出的事件是自身需要的时才做反应-->
<intent-filter>
<action android:name="android.intent.action.EDIT"/>
</intent-filter>
</receiver>
MyBroadcasrRecevier.java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//收到广播后的处理代码
Log.e("broadcast","MyBroadcastReceiver");
}
}
MainActivity.java
MyBroadcastReceiver br=new MyBroadcastReceiver();
Intent intent=new Intent();
intent.setAction(Intent.ACTION_EDIT);
//注册事件
MainActivity.this.sendBroadcast(intent);
2代码中注册(在需要的地方注册,如用于更新UI 注册:registerReceiver(receiver,filter);取消注册:unregisterReceiver(receiver);)
需要添加BroadcastReceiver的java文件
MyBroadcastReceiver br=new MyBroadcastReceiver();
//生成一个IntentFilter对象
IntentFilter filter=new IntentFilter();
//为InentFilter添加一个Action
filter.addAction(SMS_ACTION);
MainActivity.this.registerReceiver(smsReceiver,filter);
//不需要接收广播时的处理
MainActivity.this.unregisterReceiver(br);
android内置broadcastReceiver事件( 查看文档)