Android O不受后台执行限制的隐式广播

作为Android 8.0(API级别26)后台执行限制的一部分,针对API 26或更高的App无法再在AndroidManifest中隐式注册BroadcastReceiver。
但是,目前有几个Broadcast 免于这些限制
无论应用程序所针对的API级别如何,应用程序都可以继续为以下广播注册监听器。

注意:即使这些隐式广播仍然在后台工作,您应该避免为它们注册Listener。
  • ACTION_LOCKED_BOOT_COMPLETED,ACTION_BOOT_COMPLETED
    免除,因为这些广播仅在首次启动时发送一次,并且许多应用需要接收此广播以安排作业,警报等。

  • ACTION_USER_INITIALIZE,“android.intent.action.USER_ADDED”,“android.intent.action.USER_REMOVED”
    这些广播受特权权限保护,因此大多数普通应用程序无论如何都无法接收它们。

  • “android.intent.action.TIME_SET”,ACTION_TIMEZONE_CHANGED,ACTION_NEXT_ALARM_CLOCK_CHANGED
    时间应用可能需要接收这些广播,以便在更改时间,时区或警报时更新警报。

  • ACTION_LOCALE_CHANGED
    仅在语言环境发生变化时发送,这不常见。应用可能需要在区域设置更改时更新其数据。

  • ACTION_USB_ACCESSORY_ATTACHED,ACTION_USB_ACCESSORY_DETACHED,ACTION_USB_DEVICE_ATTACHED,ACTION_USB_DEVICE_DETACHED
    如果应用程序需要了解这些与USB相关的事件,目前还没有一个很好的替代方案来注册广播。

  • ACTION_CONNECTION_STATE_CHANGED,ACTION_CONNECTION_STATE_CHANGED,ACTION_ACL_CONNECTED,ACTION_ACL_DISCONNECTED
    如果应用收到这些蓝牙事件的广播,则用户体验不太可能受到影响。

  • ACTION_CARRIER_CONFIG_CHANGED,TelephonyIntents.ACTION _ * _ SUBSCRIPTION_CHANGED,“TelephonyIntents.SECRET_CODE_ACTION”,ACTION_PHONE_STATE_CHANGED,ACTION_PHONE_ACCOUNT_REGISTERED,ACTION_PHONE_ACCOUNT_UNREGISTERED
    OEM电话应用可能需要接收这些广播。

  • LOGIN_ACCOUNTS_CHANGED_ACTION
    某些应用需要了解登录帐户的更改,以便他们可以为新帐户和已更改帐户设置计划操作。

  • ACTION_ACCOUNT_REMOVED
    删除帐户后,可以看到帐户的应用会收到此广播。如果这是应用程序需要执行的唯一帐户更改,则强烈建议应用程序使用此广播而不是已弃用的LOGIN_ACCOUNTS_CHANGED_ACTION。

  • ACTION_PACKAGE_DATA_CLEARED
    仅在用户明确清除“设置”中的数据时发送,因此广播接收器不太可能显着影响用户体验。

  • ACTION_PACKAGE_FULLY_REMOVED
    某些应用可能需要在删除其他包时更新其存储的数据;对于这些应用程序,没有很好的替代方案来注册此广播。

    注意:其他与包相关的广播(例如ACTION_PACKAGE_REPLACED)不受新限制的豁免。这些广播很常见,对豁免广告有潜在的性能影响。
  • ACTION_NEW_OUTGOING_CALL
    响应用户拨打电话而采取措施的应用需要接收此广播。

  • ACTION_DEVICE_OWNER_CHANGED
    这种广播不经常发送;一些应用需要接收它,以便他们知道设备的安全状态已经改变。

  • ACTION_EVENT_REMINDER
    由日历提供商发送,以向日历应用发布活动提醒。由于日历提供商不知道日历应用程序是什么,因此该广播必须是隐含的。

  • ACTION_MEDIA_MOUNTED,ACTION_MEDIA_CHECKING,ACTION_MEDIA_UNMOUNTED,ACTION_MEDIA_EJECT,ACTION_MEDIA_UNMOUNTABLE,ACTION_MEDIA_REMOVED,ACTION_MEDIA_BAD_REMOVAL
    这些广播是由于用户与设备的物理交互(安装或删除存储卷)或作为启动初始化的一部分(因为可用卷已安装)而发送的,因此它们不常见,通常由用户控制。

  • SMS_RECEIVED_ACTION,WAP_PUSH_RECEIVED_ACTION
    SMS收件人应用程序依赖这些广播。

原文地址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值