前台服务
在Android 9 或 更高 API,使用前台服务的应用必须请求
FOREGROUND_SERVICE 权限。 这是普通权限,因此,系统会自动为请求权限的应用授予此权限
。否则会引发 SecurityException。
隐私权变更
如果您的应用以 Android 9 为目标平台,您应牢记以下行为变更。 对设备序列信息和 DNS 信息进行的这些更新可增强用户隐私保护。
构建序列号弃用
在 Android 9 中,Build.SERIAL 始终设置为 "UNKNOWN"
以保护用户的隐私。
如果您的应用需要访问设备的硬件序列号,您应改为请求 READ_PHONE_STATE 权限,然后调用 getSerial()
。
DNS 隐私
以 Android 9 为目标平台的应用应采用私有 DNS API。 具体而言,当系统解析程序正在执行 DNS-over-TLS 时,应用应确保任何内置 DNS 客户端均使用加密的 DNS 查找与系统相同的主机名,或停用它而改用系统解析程序。
框架安全性变更
Android 9 包含可提升您的应用安全性的多个行为变更,在targetApi >=28才会生效:
默认情况下启用网络传输层安全协议 (TLS)
targetApi >= 9,则默认情况下 isCleartextTrafficPermitted() 函数返回 false。 如果您的App需要为特定域名启