android11可以使用的框架(最详细的Android13适配指南)

谷歌从2022年8月15日开始, 将在 Pixel 设备上推出Android 13。今年晚些时候,Android 13 还将在三星 Galaxy、华硕、HMD(诺基亚手机)、iQOO、摩托罗拉、OnePlus、Oppo、Realme、夏普、索尼、Tecno、vivo、小米等更多设备上推出。

android11可以使用的框架(最详细的Android13适配指南)(1)

Android 13 中新增哪些功能?主题应用图标

从 Android 13 起,用户可以选择启用带主题的应用图标。借助此功能,用户可以调节受支持的 Android 启动器中应用图标的色调,以继承所选壁纸和其他主题的配色。

如需支持此功能,您的应用必须提供自适应图标和单色应用图标,并通过清单中的 <adaptive-icon> 元素指向该单色应用图标。如果用户启用了带主题的应用图标(换句话说,在系统设置中开启了带主题的图标切换开关),而启动器支持此功能,则系统将使用用户选择的壁纸和主题来确定色调颜色,然后该颜色将应用于单色应用图标。

在以下任何情况下,主屏幕都不会显示带主题的应用图标,而是显示自适应或标准应用图标:

  • 如果用户未启用带主题的应用图标
  • 如果您的应用不提供单色应用图标
  • 如果启动器不支持带主题的应用图标

android11可以使用的框架(最详细的Android13适配指南)(2)

图标规格

您的单色应用图标应符合以下规范:

  • 应是一个 VectorDrawable。
  • 我们建议该徽标适合 108 x 108 dp 容器中的 44 x 44 dp 的区域内。如果需要更大尺寸的徽标,最大可以为 72 x 72 dp。
  • 我们建议您使用平面徽标;如果您的徽标是三维的,那么您可以使用 Alpha 渐变。

您必须将单色属性指向自适应应用图标的前台图层所使用的同一 VectorDrawable,或者重复使用用于通知的矢量可绘制对象。

实现带主题的应用图标

将 monochrome android:drawable 属性添加到 <adaptive-icon> 元素中。例如,在 res/mipmap-anydpi-v26/ic_launcher.xml 中:

<adaptive-icon > <background android:drawable="..." /> <foreground android:drawable="..." /> <monochrome android:drawable="@drawable/myicon" /> </adaptive-icon>

在您的清单文件中,使用 android:icon 定义图标:

<application … android:icon="@mipmap/ic_launcher" …> </application>

应用程序的语言首选项

在许多情况下,多语言用户会将其系统语言设置为某一种语言(例如英语),但又想为特定应用选择其他语言(例如荷兰语、中文或印地语)。为了帮助应用为这些用户提供更好的体验,Android 13 针对支持多种语言的应用引入了以下功能:

  • 系统设置:用户可以在这个集中位置为每个应用选择首选语言。您的应用必须在应用的清单中声明 android:LocaleConfig 属性,以告知系统它支持多种语言。如需了解详情,请参阅有关创建资源文件并在应用的清单文件中声明资源的说明。
  • 其他 API:借助这些公共 API(例如 LocaleManager 中的 setApplicationLocales() 和 getApplicationLocales() 方法),应用可以在运行时设置不同于系统语言的其他语言。使用自定义应用内语言选择器的应用应当使用这些 API,以确保无论用户通过何种方式选择其语言偏好设置,都能获得一致的用户体验。公共 API 还有助于减少样板代码量、支持拆分 APK,并且支持应用自动备份,以存储应用级的用户语言设置。为了向后兼容以前的 Android 版本,AndroidX 中也提供了等效的 API。我们建议使用 Appcompat 1.6.0-beta01 或更高版本。

android11可以使用的框架(最详细的Android13适配指南)(3)

推荐的实现方式
  1. 您的应用没有应用内语言选择器
  • 使用应用清单中的android:localeConfig属性将应用的语言添加到手机设置中。
  • (可选)如果您想添加应用内语言选择器:请使用 AndroidX 库并选择接受 API 实现,以通过 autoStoreLocales 支持向后兼容性。
  1. 您的应用已有应用内语言选择器
  • 使用应用清单中的android:localeConfig属性将应用的语言添加到手机设置中。
  • 迁移应用的自定义逻辑以使用公共 API,确保用户获得一致的体验。
  • 处理以下极端情况:
    1. 应用在搭载 Android 13 的设备上首次运行时调用 AppCompatDelegate.setApplicationLocales()。
    2. 针对以下情况,调用 AppCompatDelegate.setApplicationLocales() 已向系统提供用户请求的现有语言区域:
      • 如果您针对 Android 12(API 级别 32)及更低版本为您的应用选择启用自动存储功能
      • 如果您的应用需要从自定义备份存储位置迁移数据
改进的文本支持

Android 13 包括文本和语言改进,可帮助您提供更精致的体验。更快的断字可将断字性能优化多达 200%,因此您现在可以在 TextView 中启用它,而对渲染性能几乎没有影响。文本转换 API可在为日语、中文等语言使用拼音输入时更快地进行搜索和自动完成。Android 13 还改进了非拉丁文字(如泰米尔语、缅甸语、泰卢固语和藏语)的行高,消除了剪裁并使其更易于阅读。

android11可以使用的框架(最详细的Android13适配指南)(4)

颜色矢量字体

Android 13 添加了对 COLR 版本 1(规范、介绍视频)字体的渲染支持,并将系统表情符号更新为 COLRv1 格式。COLRv1 是一种新的、高度紧凑的字体格式,可以在任何大小下快速清晰地呈现。对于大多数应用程序,这将正常工作,系统会处理所有事情。

android11可以使用的框架(最详细的Android13适配指南)(5)

快捷设置API

对于提供自定义 快捷设置磁贴的应用,Android 13 让用户更容易发现和添加磁贴。使用新的磁贴放置 API,您的应用现在可以提示用户在一个步骤中直接添加您的自定义快速设置磁贴,而无需离开您的应用。

可编程着色器

Android 13 引入了可编程RuntimeShader对象,其行为使用Android 图形着色语言 (AGSL)定义。您可以使用这些着色器在您的应用程序中创建波纹、模糊、拉伸和类似的高级效果。

从 PlaybackState 派生的媒体控件

对于面向 Android 13 的应用,系统现在从PlaybackState操作派生媒体控件,提供更丰富的控件集,这些控件在手机和平板设备之间保持一致,并与其他 Android 平台(如 Android Auto 和 Android TV)保持一致。

android11可以使用的框架(最详细的Android13适配指南)(6)

蓝牙 LE 音频

低功耗 (LE) 音频是下一代无线音频,旨在支持新的用例,例如向朋友和家人共享和广播音频,或订阅公共广播以获得信息、娱乐或可访问性。它旨在确保用户可以在不牺牲电池寿命的情况下接收高保真音频,并让他们在不同的用例之间无缝切换。Android 13 增加了对 LE Audio 的内置支持,因此开发人员可以在兼容设备上使用新功能。

MIDI 2.0

Android 13 增加了对新MIDI 2.0 标准的支持,包括通过 USB 连接 MIDI 2.0 硬件的能力。此更新后的标准提供了诸如提高控制器分辨率、更好地支持非西方语调以及使用每个音符控制器的表现力等功能。

OpenJDK 11 更新

Android 13 核心库现在与 OpenJDK 11 LTS 版本保持一致,为应用程序和平台开发人员提供库更新和 Java 11 编程语言支持。我们计划通过 Google Play 系统更新将这些核心库更改引入更多设备,作为运行 Android 12 及更高版本设备的 ART 模块更新的一部分。

预测返回手势

Android 13 引入了新的 API,让您的应用程序告诉系统它将提前处理返回事件,我们称之为“提前”模型的做法。这种新方法是多年努力的一部分,旨在帮助您准备您的应用程序以支持预测性后退手势,可通过开发人员选项在此版本中进行测试。

专为平板电脑打造

Android 13 扩展了我们今年早些时候发布的12L 更新,它在平板电脑上提供了更好的体验。您会发现增强的多任务任务栏、系统 UI 和应用程序中的更多大屏幕布局和优化、改进的应用程序兼容性模式等功能。

android11可以使用的框架(最详细的Android13适配指南)(7)

隐私和安全

照片选择器和 API -一个新的系统照片选择器现在为用户提供了一种标准的、保护隐私的方式来共享本地和基于云的照片。照片选取器扩展了 Android 长期存在的文档选取器,使用户可以轻松地与应用共享特定照片和视频,而无需授予应用查看设备上所有媒体文件的权限。照片选择器为照片和视频提供了专门的体验,并包含供应用程序访问共享媒体文件的 API。照片选择器体验现在可供接收 Google Play 系统更新的用户在运行 Android 11 及更高版本的设备(Go 设备除外)上使用。

android11可以使用的框架(最详细的Android13适配指南)(8)

通知权限

为了帮助用户专注于对他们来说最重要的通知,Android 13 引入了新的通知运行时权限。应用程序现在需要在发布通知之前向用户请求通知权限。对于面向 Android 12 或更低版本的应用,系统将代您处理升级流程。

android11可以使用的框架(最详细的Android13适配指南)(9)

开发者可降级权限

从 Android 13 开始,不再需要用户先前授予的权限的应用可以使用新的 API来降级权限。通过删除未使用的权限,您的应用可以显示它正在使用所需的最低权限,这可以提高用户的信任度。

更安全的导出 intent 过滤器

Android 13 在向另一个以 Android 13 为目标的应用中的导出 Intent 过滤器提供显式 Intent 时应用更严格的规则。对于指定操作的 Intent,系统现在仅在 Intent 与接收者声明的匹配时才将 Intent 交付给导出的组件<intent-filter>元素。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页