【面试】注册广播有哪几种方式,有什么区别
广播的注册有两种形式,一种是在应用程序的代码上注册,
注册:registerReceiver(receiver,filter)
取消注册:unregisterReceiver(receiver)
另一种方形式则是在注册表androidmanifest.xml当中注册,
<receiver>
<intent-filter>
<action android:name = "android.intent.action.PICK"/>
</intent-filter>
</receiver>
两种注册广播形式的区别/优缺点主要是,
①前一种为非常驻型注册,跟随生命周期变化,及Activity不可见时取消注册。不过当BroadcastReceiver(receiver)需要更新UI的时候,一般会采用该注册广播的方法;
②后一种为常驻行注册,简单的说就是即使关闭了应用程序,后台接收到消息通知,照样可以唤醒应用当中的响应程序。