注册广播的两种方法

1.在AndroidManifest.xml文件中注册。
         好处:一旦应用程序被安装到手机里,BroadCast Receiver就开始生效。无论应用程序进程是否运行,运用程序是否在开启状态下都可以接受到广播事件。
<receiver   android:name= ".receiver.SMSReceiver"   >
    <intent-filter android:priority="1000" >
         <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

2.通过代码的方式注册广播
          好处:一旦运用程序停止,广播也跟着停止
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
filter.setPriority(1000);
LockScreenReceiver  myReceiver  =   new   LockScreenReceiver () ;
registerReceiver(myReceiver, filter);
注意:手机锁屏的广播事件只能在代码中注册才能生效
3.显示的发送广播
sendBroadcast(intent);//发送一个无序广播
sendOrderedBroadcast(intent, receiverPermission, resultReceiver, scheduler, initialCode, initialData, initialExtras);//有序广播


4.
在广播事件中需要开启线程时,最好先开启一个Service,让后再Service开启线程。因为Broadcast Receiver容易被回收

你可能感兴趣的:(注册广播的两种方法)