Android注册广播的两种方法分析

时间:2021-09-16 08:42:05

本文实例分析了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程序设计有所帮助。