我正在参加「掘金·启航计划」
安卓14的新内容: 全面概述
安卓14为平台带来了大量的新功能和更新. 从对前台服务和警报的改进到语法转折和字体缩放, 安卓14对每个开发者都有好处. 我在下面列出了一些最重要的变化. 让我们深入探讨一下这个最新版本中的新内容.
前台类型
前台服务在Android 14中得到了更新, 因为现在应用程序必须在其清单中指定前台服务的类型. 这是通过向清单中的<service>
元素添加android:foregroundServiceType
属性来实现的, 该属性可以被设置为以下值之一:
- 相机
- 连接的设备
- 数据同步
- 健康
- 位置
- mediaPlayback
- 媒体投影
- 录音机
- 电话呼叫
- 远程消息
- 短期服务
- 特殊用途
- 系统豁免
健康
, 远程消息
, 简短服务
, 特殊用途
和系统豁免类型
是Android 14的新内容. 如果应用程序未能指定前台服务的类型, 当调用startForeground()
时, 系统将引发一个异常.
前台权限
现在, 为了在Android 14中使用前台服务, 需要向应用程序授予一些权限. 这些权限在Android官方文档中有所概述.
日程表精确报警
从Android 13和更高版本开始, SCHEDULE_EXACT_ALARM
权限将被默认拒绝, 这意味着任何试图使用 setExact()
, setExactAndAllowWhileIdle()
或setAlarmClock()
安排精确警报的应用程序, 如果没有该权限, 将导致系统抛出一个安全异常. 然而, 现有的关于SCHEDULE_EXACT_ALARM
权限的最佳实践仍然适用, 包括在调度精确警报之前用canScheduleExactAlarms()
检查该权限, 以及设置应用程序以监听并对前台广播AlarmManager.ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED
做出正确反应.
最小可安装目标API
低于API级别23的应用程序将无法安装在Android 14及以上版本. 升级到安卓14的设备仍然能够使用已经安装在设备上的低于23级的目标应用, 但他们将不能安装低于23级的新应用.
每个应用程序的语言偏好
安卓14允许应用程序更新应用程序的语言配置, 这使得应用程序可以动态更新设备系统设置上的支持语言列表.
语法转折API
语言经常处理不同的性别, 这可能使显示某些字符串相对于浏览者的语法性别具有挑战性. Android 14中的语法转折API使显示这类字符串更加容易. 通过为受影响的语言添加每个语法性别的翻译, 开发者可以使用GrammaticalInflectionManager API来调整哪些翻译显示给每个用户.
添加翻译的方式与在Android中定义不同的限定词相同;只需在相应的字符串文件名的地区名称后面紧接着添加性别限定词. 例如,
- res/values-fr-feminine
- res/values-fr-masculine
- res/values-fr-neuter
非线性字体缩放
在安卓14中, 现在可以将字体大小扩展到200%, 这对需要较大文字的用户来说很有用. 另外, 在更高的版本中也将支持最大200%的缩放比例
总之, Android 14引入了各种新功能和更新, 从增强前台服务和警报到语法转折和字体缩放. 这些新增加的功能为开发者提供了更多的工具, 使他们的应用程序更易于使用和用户友好.