IntentFilter intentFilter = new IntentFilter( "android.provider.Telephony.SMS_RECEIVED " ); registerReceiver( mBatteryInfoReceiver , intentFilter);
registerReceiver(receiver, filter, broadcastPermission, scheduler)
unregisterReceiver(mBatteryInfoReceiver);
在AndroidManifest.xml的application里面定义receiver并设置要接收的action。
< receiver android:name = ".MyBroadcastReceiver" > < intent-filter android:priority = "777" > <action android:name = "android.provider.Telephony.SMS_RECEIVED" /> </ intent-filter > </ receiver >
在Activity中声明BroadcastReceiver的扩展对象,在onResume中注册,onPause中卸载.
public class MainActivity extends Activity {
MyBroadcastReceiver receiver;
@Override
protected void onResume() {
// 动态注册广播 (代码执行到这才会开始监听广播消息,并对广播消息作为相应的处理)
receiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter( "android.provider.Telephony.SMS_RECEIVED" );
registerReceiver( receiver , intentFilter);
super.onResume();
}
@Override
protected void onPause() {
// 撤销注册 (撤销注册后广播接收者将不会再监听系统的广播消息)
unregisterReceiver(receiver);
super.onPause();
}
}