8.0还可以接受的隐式广播

2024-09-01 22:32
文章标签 广播 8.0 隐式 接受

本文主要是介绍8.0还可以接受的隐式广播,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

隐式广播例外

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

注意:即使这些隐式广播仍然在后台工作,您应该避免为它们注册侦听器。

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_CHANGEDACTION_NEXT_ALARM_CLOCK_CHANGED

当时间,时区或警报发生变化时,时钟应用可能需要接收这些广播以更新警报。

ACTION_LOCALE_CHANGED

仅在区域设置更改时发送,这不常见。应用可能需要在区域设置更改时更新其数据。

ACTION_USB_ACCESSORY_ATTACHEDACTION_USB_ACCESSORY_DETACHEDACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED

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

ACTION_CONNECTION_STATE_CHANGEDACTION_CONNECTION_STATE_CHANGEDACTION_ACL_CONNECTEDACTION_ACL_DISCONNECTED

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

ACTION_CARRIER_CONFIG_CHANGEDTelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED"TelephonyIntents.SECRET_CODE_ACTION"ACTION_PHONE_STATE_CHANGEDACTION_PHONE_ACCOUNT_REGISTEREDACTION_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_MOUNTEDACTION_MEDIA_CHECKINGACTION_MEDIA_UNMOUNTEDACTION_MEDIA_EJECTACTION_MEDIA_UNMOUNTABLEACTION_MEDIA_REMOVEDACTION_MEDIA_BAD_REMOVAL

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

SMS_RECEIVED_ACTION, WAP_PUSH_RECEIVED_ACTION

短信收件人应用程序依赖这些广播。

这篇关于8.0还可以接受的隐式广播的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128229

相关文章

Linux 删除 当前下的 mysql-8.0.31 空文件夹

在Linux中,如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹(即该文件夹内没有任何文件或子文件夹),你可以使用rmdir命令。但是,如果mysql-8.0.31文件夹并非完全为空(即它包含文件或子文件夹),rmdir命令会失败。 如果你的目标是删除mysql-8.0.31文件夹及其内部的所有内容(无论是否为空),你应该使用rm命令结合-r(或-R,它们是等价的)选项来递归地删

mysql数据库8.0小版本原地升级

mysql数据库8.0小版本原地升级 准备工作升级工作停库使用新版本软件启动数据库更新环境变量重启数据库 升级日志 OS release: CentOS 7.9升级前DB version: MySQL 8.0.30数据库升级安装包:mysql-8.0.36-linux-glibc2.12-x86_64.tar.xzMySQL Shell安装包:mysql-shell-8.0.36

android面试:如何理解 Android 中的广播?

在 Android 中,广播是一种用于在应用程序之间传递消息的机制。它允许应用程序发送和接收全局消息,通常用于通知其他应用或组件某些事件的发生。广播可以是系统广播(由系统发送)或自定义广播(由应用程序发送)。 广播的主要特点: 异步通信:广播是一种异步的通信方式,发送广播的应用不需要等待接收应用的响应。 全局可见:广播可以被系统中的任何应用程序接收,适合用于跨应用的消息传递。 轻量级:广播

selenium的webdriver三种等待方式(显式等待WebDriverWait+implicitly_wait隐式等待+sleep强制等待)

隐式等待是等页面加载,不是等元素!!! 1、显式等待  一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。显式等待是等元素加载!!! from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import

C++隐式转换

文章目录 一、基本类型转换1.1 整型提升(Integer Promotion)1.2 算术转换(Arithmetic Conversion) 二、类类型的隐式转换2.1 通过单参数构造函数进行隐式转换2.2 通过转换函数进行隐式转换 三、隐式类型转换的注意事项3.1 防止不必要的隐式转换3.2 隐式类型转换的优先级 四、总结 视频教学笔记1、隐形构造函数案例1案例2 2、explicit使

【linux mysql】mysql高版本8.0.23版本密码修改总结

mysql 8.0 版本,由于增加了一些安全策略等限制,所以修改用户密码会稍微麻烦些。下面是针对这个高版本的总结。 一、配置/etc/my.cnf 文件 免密码登录mysql vim /etc/my.cnf# 增加这两行命令skip-grant-tablesdefault-authentication-plugin=mysql_native_password 重启启动mysql se

Android 接收系统广播,开机启动Service,SMS,Battery

本文内容摘自《疯狂Android讲义 第3版》李刚 著 自动开启的Service: package shortcut.song.com.myapplication;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;im

Android Ordered Broadcast 有序广播

代码设置IntentFilter: IntentFilter intentFilter = new IntentFilter();intentFilter.setPriority(15);intentFilter.addAction("shortcut.song.com.myapplication.MY_BROADCAST");intentFilter.addCategory

Android BroadcastRecevier广播消息

代码注册Receiver @Overrideprotected void onCreate(Bundle savedInstanceState) {IntentFilter intentFilter = new IntentFilter();intentFilter.addAction("");MyBroadcast myBroadcast = new MyBroadcast();regi

C++隐式类型转换问题

问题描述:隐式类型转换问题 if (optimize_param.dynamic_lds_size > 64UL * 1024UL) 这里在64后面加上UL表示“usigned long“类型的常量,为了防止在计算或者比较过程中出现类型转换的问题。 举例说明隐式类型转换问题: #include <iostream>int main(int argc, char const *argv[]