广播 BroadcastReceiver
监听 / 接收 广播消息。Android不同组件间的通信(应用内或者不同应用之间)
1.自定义接收器:继承BroadcastReceivre类
public class WBroadcastReceiver extends BroadcastReceiver {
@Override public void onReceive(Context context, Intent intent)
{
//通过Intent传值区分不同的广播和具体的传参
}
}
1.1静态注册接收器
<receiver WBroadcastReceiver android:name=".WBroadcastReceiver " >
<intent-filter>
<action android:name="" />
</intent-filter>
</receiver>
1.2动态注册接收器
//注册
WBroadcastReceiver wBroadcastReceiver = new WBroadcastReceiver ();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("");
registerReceiver(wBroadcastReceiver , intentFilter);
//销毁
unregisterReceiver(wBroadcastReceiver );
2.发送广播
2.1普通广播
Intent intent = new Intent();
intent.setAction("");
sendBroadcast(intent);
2.2系统广播
即系统内部的广播
2.3有序广播
即有顺序的普通广播
sendOrderedBroadcast(intent);
2.4本地广播
//注册
LocalBroadcastManager.getInstance(Context).registerReceiver(receiver, filter);
//销毁
LocalBroadcastManager.getInstance(Context).unregisterReceiver(receiver, filter);
//发送
LocalBroadcastManager.getInstance(Context).sendBroadcast(intent);