BroadcastReceiver是消息广播,
BroadcastReceiver的生命周期很短,在收到消息广播后,就结束了。
即onReceive()后,生命周期只有10秒左右。
注册方式有两种,一种在androidManifest.xml中注册,
<receiver android:name = ".MyBroadcastReceiver" >
<intent-filter android:priority = "1000" >
<action android:name = "android.provider.Telephony.SMS_RECEIVED" />
</intent-filter >
</receiver >
还有一种是在activity中注册
/**
* 恢复播放
*/
@Override
protected void onResume() {
super.onResume();
// 注册LRC广播接收器和进度条广播接收器
lrcReceiver = new LrcMessageBroadcastReceiver();
registerReceiver(lrcReceiver, getLrcIntentFilter());
}
/**
* Description 生成IntentFilter的途径有两种,一个是在androidManifest.xml中定义,一个是在程序中定义
* @return
*/
private IntentFilter getLrcIntentFilter(){
if(lrcFilter == null){
lrcFilter = new IntentFilter();
lrcFilter.addAction(Constant.LRC_MESSAGE_ACTION);
lrcFilter.addAction(Constant.PROGRESS_MESSAGE_ACTION);
}
return lrcFilter;
}