private SmsReceiver smsReceiver;
public void onCreate() { super.onCreate(); <span style="color:#009900;">//在代码中注册一个广播接收者 </span>
smsReceiver = new SmsReceiver();
IntentFilter filter = new IntentFilter(); <span style="color:#009900;">//设置广播接收的优先级 </span>
filter.setPriority(Integer.MAX_VALUE);<span style="color:#009900;">//最大值 最高的优先级 最大数字2147483647</span>
<span style="color:#009900;">//设置广播接收的频道 </span>
filter.addAction("android.provider.Telephony.SMS_RECEVIED");
registerReceiver(smsReceiver, filter);
}
public void onDestroy() {
super.onDestroy();
<span style="color:#009900;">//取消注册广播
</span>
unregisterReceiver(smsReceiver);
}
代码注册广播接收者和清单文件注册的区别:
1.功能都一样
2.代码中注册更加灵活,需要时注册,不需要时取消注册
3.清单文件中的广播接收者,注册以后就不能取消了
4.当优先级数字相同时,代码比清单文件先执行