Android 兼容性定义文档 (CDD) 可更新软件要求设备实现 SystemUpdatePolicy
类。SystemUpdatePolicy
可让设备所有者 (DO) 应用(如果存在)控制系统更新的安装。
Android 9 允许设备所有者推迟无线 (OTA) 更新最多 90 天,增强了设备所有者控制更新的能力。此功能专注于企业所有、单一用途 (COSU) 解决方案,可让所有者在重要时段(如节假日)暂停在设备上运行的操作系统版本。
为遵守 CDD 的要求,OTA 客户端必须实施行为政策。DO 可以设置下列政策,设备系统更新子系统必须遵守这些政策:
Android 9 引入了专为系统更新客户端设计的 @SystemApi SystemUpdatePolicy.InstallationOption
。
SystemUpdatePolicy.InstallationOption
会充当政策的封装容器类。根据当前系统更新政策,某个安装选项会告知客户端如何针对传入的系统更新执行操作,以及相应操作的有效时长。安装选项可以是下列项之一:
TYPE_INSTALL_AUTOMATIC
- 传入的系统更新在可用后会立即安装,且无需用户干预。相应设备会自动重启。
TYPE_POSTPONE
- 传入的系统更新最多可延迟 30 天。用户无法手动安装更新。设备制造商可以选择是否屏蔽安全补丁程序。
TYPE_PAUSE
- 传入的系统更新可无限期延迟,除非另行通知。用户无法手动安装更新。TYPE_PAUSE
会延迟所有更新,包括安全补丁程序。
系统更新客户端可以使用 SystemUpdatePolicy.getInstallationOptionAt(long when)
查询 SystemUpdatePolicy.InstallationOption
,其中“when”表示查询安装选项的时间(从公元纪年开始计算的毫秒数)。系统更新客户端可以使用 SystemUpdatePolicy.getInstallationOptionAt(long when)
方法,在有效时间结束前针对返回的选项执行操作。在返回的选项失效后,客户端可以使用新的时间戳为最近的选项执行另一次查询。
系统更新客户端必须监听 DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED
广播,以随时了解整个政策的更新情况。
TYPE_PAUSE
政策
您可以手动验证 TYPE_PAUSE
选项是否能在 OTA 系统上正常运行。
TYPE_PAUSE
生效
要验证 TYPE_PAUSE
政策是否还能发挥作用,请执行以下操作:
TYPE_PAUSE
。TYPE_PAUSE
过期
要验证过期的 TYPE_PAUSE
政策是否还能发挥作用,请执行以下操作:
TYPE_PAUSE
。