BroadcastReceiver

92 阅读1分钟

BroadcastReceiver的工作原理基于Android的消息传递机制 , 异步执行 , 不会堵塞主线程

静态广播 : 在应用被安装时注册 , 应用没有运行也可以接收广播 , 适合用于接收系统广播或其他需要长期存在的广播 优点: 可以在应用未运行时接收广播。 方便实现一些长时间监听的功能。

缺点: 会影响应用启动速度。 无法控制广播接收器的生命周期。

动态广播 : 适合在应用运行期间接收特定的广播 优点: 可以精确控制广播接收器的生命周期。 只在需要时接收广播,节省系统资源。

缺点: 应用未运行时无法接收广播。

必须动态注册的广播 : CONNECTIVITY_ACTION:用于接收网络连接状态的变化通知。 PACKAGE_ADDED / PACKAGE_REMOVED / PACKAGE_CHANGED:用于接收应用程序安装、卸载和更新的通知。 ACTION_USER_PRESENT:用于接收用户解锁设备的通知。 ACTION_SCREEN_ON / ACTION_SCREEN_OFF:用于接收屏幕开启和关闭的通知。 ACTION_POWER_CONNECTED / ACTION_POWER_DISCONNECTED:用于接收设备电源连接和断开的通知。 ACTION_BOOT_COMPLETED:用于接收设备启动完成的通知。 ACTION_TIME_TICK:用于接收系统时钟每分钟的通知。 ACTION_TIMEZONE_CHANGED:用于接收设备时区更改的通知。