本文实例分析了Android注册广播的两种方法。分享给大家供大家参考,具体如下:
1. 在AndroidManifest.xml文件中注册。
好处:一旦应用程序被安装到手机里,BroadCast Receiver就开始生效。无论应用程序进程是否运行,运用程序是否在开启状态下都可以接受到广播事件。
1
2
3
4
5
|
< receiver android:name = ".receiver.SMSReceiver" >
< intent-filter android:priority = "1000" >
< action android:name = "android.provider.Telephony.SMS_RECEIVED" />
</ intent-filter >
</ receiver >
|
2. 通过代码的方式注册广播
好处:一旦运用程序停止,广播也跟着停止
1
2
3
4
|
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
filter.setPriority( 1000 );
LockScreenReceiver myReceiver = new LockScreenReceiver();
registerReceiver(myReceiver, filter);
|
注意:手机锁屏的广播事件只能在代码中注册才能生效
3. 显示的发送广播
1
2
|
sendBroadcast(intent); //发送一个无序广播
sendOrderedBroadcast(intent, receiverPermission, resultReceiver, scheduler, initialCode, initialData, initialExtras); //有序广播
|
4. 在广播事件中需要开启线程时,最好先开启一个Service,让后再Service开启线程。因为Broadcast Receiver容易被回收
希望本文所述对大家Android程序设计有所帮助。