Android Pie(9.0)适配

Android Pie(9.0)适配

[图片上传失败...(image-74880c-1544772143959)]

查看新功能

显示屏缺口支持

  • 使用getDisplayCutout()函数获取缺口屏(刘海屏)的参数
  • 可以通过谷歌提供的适配方案,使用挖孔区全屏显示解决:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
getWindow().setAttributes(lp);

多个通知增强功能

  • 支持图像:现在,Android 9 可在手机的“短信通知”中显示图像。 您可以使用对短信使用 setData()来显示图像。 以下代码段演示了如何创建 Person 和包含图像的短信。
// Create new Person.
Person sender = new Person()
        .setName(name)
        .setUri(uri)
        .setIcon(null)
        .build();
// Create image message.
Message message = new Message("Picture", time, sender)
        .setData("image/", imageUri);
Notification.MessagingStyle style = new Notification.MessagingStyle(getUser())
        .addMessage("Check this out!", 0, sender)
        .addMessage(message);

[图片上传失败...(image-b7321d-1544772143959)]

适用于可绘制对象和位图的 ImageDecoder

Android 9 引入了 ImageDecoder 类,可提供现代化的图像解码方法。 使用该类取代 BitmapFactory 和 BitmapFactory.Options API。

动画

Android 9 引入了 AnimatedImageDrawable 类,用于绘制和显示 GIF 和 WebP 动画图像。

自动填充框架

Android 9 引入了多项改进,自动填充服务可以利用这些改进进一步增强用户填写表单时的体验。 如需详细了解如何在您的应用中使用自动填充功能,请参阅自动填充框架指南。

更多新功能

行为变更

比较多,建议直接看文档

所有应用

以 API 级别 28+ 为目标的应用

我们公司的app需要注意的几个点,可能对我们有影响

  • 限制访问电话号码
  • 使用非 SDK 接口的限制
  • 传输层安全协议 (TLS) 实现变更
  • Android 9 完全取消了对 Android 安全加密文件 (ASEC) 的支持。
  • 现在强制执行 FLAG_ACTIVITY_NEW_TASK 要求
  • 屏幕旋转变更
  • 构建序列号弃用(在 Android 9 中,Build.SERIAL 始终设置为 "UNKNOWN" 以保护用户的隐私。)
  • 无法再让多个进程共用同一 WebView 数据目录
  • 在 Android 9 之前,暂停的应用发出的通知会被取消。 从 Android 9 开始,暂停的应用发出的通知将被隐藏,直至应用继续运行。

对于非 SDK 接口的限制

无论是直接使用还是通过反射或 JNI 间接使用。 无论应用是引用非 SDK 接口还是尝试使用反射或 JNI 获取其句柄,均适用这些限制。

下面是名单类型:

  • 白名单:SDK
  • 浅灰名单:仍可以访问的非 SDK 函数/字段。
  • 深灰名单:
    • 对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口。
    • 对于目标 SDK 为 API 28 或更高级别的应用:行为与黑名单相同
  • 黑名单:受限,无论目标 SDK 如何。 平台将表现为似乎接口并不存在。 例如,无论应用何时尝试使用接口,平台都会引发 NoSuchMethodError/NoSuchFieldException,即使应用想要了解某个特殊类别的字段/函数名单,平台也不会包含接口。
名单类型

下表详细说明了各种访问方式及其相应的结果。

名单类型

讲解视频

veridex检测,需要翻墙

扩展阅读

AndroidX了解一下

Android Jetpack

你可能感兴趣的:(Android Pie(9.0)适配)