转载部分内容:http://blog.csdn.net/superjunjin/article/details/7860025
首先写一个类要继承BroadcastReceiver
第一种:在清单文件中声明,添加
<receiveandroid:name=".IncomingSMSReceiver " >
<intent-filter>
<actionandroid:name="android.provider.Telephony.SMS_RECEIVED")
<intent-filter>
<receiver>
第二种使用代码进行注册如:
IntentFilterfilter = newIntentFilter("android.provider.Telephony.SMS_RECEIVED");
IncomingSMSReceiverreceiver = new IncomgSMSReceiver();
registerReceiver(receiver.filter);
两种注册类型的区别是:
1)第一种是常驻型(静态注册),也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
2)第二种不是常驻型广播(动态注册),也就是说广播跟随程序的生命周期。
注册的方法有两种,一种是静态注册,一种是动态注册。
动态注册优点:在 Android 的广播机制中,动态注册的优先级是要高于静态注册优先级的,因此在必要的情况下,我们是需要动态注册广播接收器的。