AndroidP版本第7季第二节只对targetSdkVersion>=28生效的变更

参考文档:https://developer.android.com/about/versions/pie/android-9.0-changes-28

    1. 前台服务权限

使用前台服务的应用必须请求 FOREGROUND_SERVICE 权限。

        1. 只需要在manifest中声明,系统自动授予,无需动态授权
        2. 若无此权限运行前台服务,会发生SecurityException
    1. 隐私权变更

对设备序列信息和 DNS 信息进行的这些更新可增强用户隐私保护。

        1. 去除通过Build.SERIAL获取设备序列号的方法

在 Android 9 中,Build.SERIAL 始终设置为 "UNKNOWN" 以保护用户的隐私。

如果您的应用需要访问设备的硬件序列号,您应改为请求 READ_PHONE_STATE 权限,然后调用 getSerial()。

        1. DNS 隐私

以 Android 9 为目标平台的应用应采用私有 DNS API。 具体而言,当系统解析程序正在执行 DNS-over-TLS 时,应用应确保任何内置 DNS 客户端均使用加密的 DNS 查找与系统相同的主机名,或停用它而改用系统解析程序。

    1. 框架安全性变更
        1. 默认情况下启用网络传输层安全协议 (TLS)

如果您的应用以 Android 9 或更高版本为目标平台,则默认情况下 isCleartextTrafficPermitted() 函数返回 false。 如果您的应用需要为特定域名启用明文,您必须在应用的网络安全性配置中针对这些域名将 cleartextTrafficPermitted 显式设置为 true。

        1. WebView数据目录不允许共享
          • 即使是同一个应用的不同进程也不行
          • 建议:只在一个进程中调用WebView,其他进程disableWebView()
          • 不同进程的WebView数据目录名必须使用不同的后缀
          • 如果应用中的多个进程需要访问同一WebView数据,您需要自行在这些进程之间复制数据。 例如,您可以调用 getCookie() 和 setCookie(),在不同进程之间手动传输 Cookie 数据。
        2. 应用间不可以使用全局的Unix权限共享数据
          • 每个应用数据目录都由selinux保护
          • 应用可以继续使用ContentProvider或者外部存储共享数据
  1. 参考文献
        1. 华为终端开放实验室Android 9.0测试:

https://mp.weixin.qq.com/s?__biz=MzI0MjgxMjU0Mg==&mid=2247488023&idx=1&sn=8949f9f09b01f3b57189a5cc01236321&chksm=e977c106de004810a800e36c5002a560bdd1f9eb35bb694873306107988616832dee42f46c79&mpshare=1&scene=1&srcid=0903d0m6DPCpBAHcOKyoEZ5q&pass_ticket=K%2FZUT6CxAfHZIhEqq0S%2F9BPeDI%2B%2BkdTg4etntkMisOoRK4WoWqM6x3iHFHd8Kcrs#rd

        1. 安卓绿色联盟《深度解读安卓P版本新特性》技术沙龙视频链接:

http://www.itdks.com/dakashuo/detail/15276?userId=2605919

http://www.itdks.com/dakashuo/detail/15275?userId=2605919

        1. Google P版本系统镜像下载:

https://developers.google.com/android/images

        1. 刷机指导:

https://source.android.com/source/running#unlocking-the-bootloader

        1. Google android code下载方法: 

https://source.android.com/source/downloading.html

        1. Google android code线上查看地址:

https://android.googlesource.com/platform/frameworks/base/+/android-cts-9.0_r1

        1. Android 9 功能和 API:

https://developer.android.com/about/versions/pie/android-9.0

        1. 行为变更:所有应用

https://developer.android.com/about/versions/pie/android-9.0-changes-all

        1. 行为变更:以 API 级别 28+ 为目标的应用

https://developer.android.com/about/versions/pie/android-9.0-changes-28

        1. P版本适配流程:

https://developer.android.com/about/versions/pie/android-9.0-migration

        1. 刘海屏:

https://android-developers.googleblog.com/2018/07/supporting-display-cutouts-on-edge-to.html

猜你喜欢

转载自blog.csdn.net/qq_33209777/article/details/88165916