加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Part 01●  新特性  ●
    • Part 02●  版本适配改善 ●
    • Part 03●  总结 ●
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

五分钟技术趣谈 | Android 14更新升级浅析

2023/09/18
4068
阅读需 13 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

随着Google I/O 2023发布的Android 14 beta2 ,预计Android 14将在2023年第三季度发布,目前看整体需要适配的内容已经趋向稳定,那么Android 14增加了哪些新特性?又有哪些针对老版本的适配改善?下面我们一起来看看吧。

Part 01●  新特性  

1.1 语法性别

正如汉语中的第三人称有他、她、它一样,很多语言根据不同性别、对象会有名词、动词和介词上的语法差异,而使用区分性别语言的人高达30亿,因此APP不针对性别进行语法区分的话,可能会给用户带来糟糕的使用体验。

因此Android14推出全新特性:语法性别Grammar Gender。开发者可以调用专用API:GrammaticalInflectionManager设置单个APP的性别偏好:

setRequestedApplicationGrammaticalGender(int) :设置性别偏好,参数为常量类型,具体类型如下:

GRAMMATICAL_GENDER_NOT_SPECIFIED,0:尚未指定性别偏好,将用默认的values资源;

GRAMMATICAL_GENDER_NEUTRAL,1:指定中性、客观的资源文本,比如 values-fr资源;

GRAMMATICAL_GENDER_FEMININE,2:指定针对女性的资源文本,比如 values-fr-feminine资源;

GRAMMATICAL_GENDER_MASCULINE,3:指定针对男性的资源文本,比如 values-fr-masculine资源。

方法getApplicationGrammaticalGender()用于获取语法性别偏好,返回上述四种int类型。

做完性别语法配置后,需要在APP的manifest文件中声明配置更改:

<activity android:name=".TestActivity"

android:configChanges="grammaticalGender"

android:exported="true">

</activity>

1.2 屏幕截图检测

基于对隐私权限相关方面的考虑,APP需要对截屏操作进行监听和反馈,在以往的安卓版本,这些操作往往需要开发者监听存放截屏文件的目录来实现,稍不留神还会踩到“隐私红线”。

为了创建更标准化的截图检测体验,Android 14引入了一个保护隐私的截图检测API。这个API允许应用程序以每个活动为基础注册回调。当用户在活动可见时截取屏幕截图时,调用这些回调函数,并通知用户。

首先要声明新的权限:

<uses-permission android:name="android.permission.DETECT_SCREEN_CAPTURE" />

然后,完成以下步骤,在你的应用程序中的每个活动,用户可能会捕获屏幕截图。

1.通过覆盖onScreenCapture()函数实现回调。在这个回调中,你的应用程序可以采取行动,比如警告另一个用户有人截取了消息对话的截图。

final Activity.ScreenCaptureCallback screenCaptureCallback =

new Activity.ScreenCaptureCallback() {

@Override

public void onScreenCaptured() {

// Add logic to take action in your app.

}

};

2.在活动的onStart()方法中,注册截图回调:

@Override

protected void onStart() {

super.onStart();

registerScreenCaptureCallback(executor,

screenCaptureCallback);

}

3.最后在onStop()方法中,取消注册屏幕回调:

@Override

protected void onStop() {

super.onStop();

unregisterScreenCaptureCallback(screenCaptureCallback);

}

1.3 全新的系统返回设计

在Android13中,为了应对多元的交互方式,谷歌就对返回事件进行了统一处理,在Android14对系统的返回效果进行了进一步的升级,一是为返回箭头增加了边框和背景,使其更加明显;二是返回箭头的颜色会随着系统主题发生变化。

图1 全新设计的“返回”箭头

二是增加返回预览,让用户可以提前查看目标界面,决定取消或继续返回操作。这块功能还在完善,开发者需要手动开启:开发者选项->预测性返回手势动画。

图2 返回预览示意图

1.4 软件包安装改进

在Android14中,PackageInstaller 推出了新的方法requestUserPreapproval(),该方法可以让App在下载之前,请求用户批准、获取授权,相比于之前版本要等到apk下载完成进行安装时才进行授权申请,该方法能有效避免无效下载,节约流程时间。

以往由于安卓设备上可能安装了多个应用市场,当使用不同的应用市场对App进行更新操作后,可能会造成兼容性问题,因此在Android14中,新增了setRequestUpdateOwnership()方法,用于指定App后续更新的应用商店App,需要申请权限:android.permission.ENFORCE_UPDATE_OWNERSHIP

此后,如果App要变更负责更新应用商店,都需要获取用户的批准。

不知道你遇到过这种情况吗,你正在使用一款App,然而手机应用商店触发了自动更新条件,直接将该App的进程打断,轻则让你郁闷,重则会造成数据的丢失。为避免这种情况,Android14引入了新的安装约束API:InstallConstraints,首先使用InstallConstraints.Builder构建,设置更新条件,如要求App进程不在前台setAppNotForegroundRequired()、要求设备不在通话状态setNotInCallRequired()等。然后使用commitSessionAfterInstallConstraintsAreMet()传入上述InstallConstraints配置实例即可。

Part 02●  版本适配改善 

2.1 默认拒绝设定精准的闹钟

精确的闹钟适用于用户指定的通知,或是在确切时间需要执行的操作。从Android 14开始,系统不再向以Android 13及更高版本为目标平台的大多数新安装应用预先授予SCHEDULE_EXACT_ALARM权限,该权限默认处于拒绝状态。

需要SCHEDULE_EXACT_ALARM权限才能通过以下API启动精确闹钟,否则系统会抛出安全异常

setExact()

setExactAndAllowWhileIdle()

setAlarmClock()

日历或闹钟应用需要在应用停止运行时发送日历提醒、唤醒闹钟或提醒。这些应用可以请求 USE_EXACT_ALARM 常规权限。系统将在安装时授予 USE_EXACT_ALARM 权限,拥有此权限的应用将能够像具有 SCHEDULE_EXACT_ALARM 权限的应用一样安排精确闹钟。

2.2 应用只能终止自己的后台进程

Android14增加了对应用调用方法killBackgroundProcesses()的限制,该方法用于终止API进程,只能终止本应用的后台进程,更新后,如果传入其他应用的包名,该方法不会对其他应用产生任何影响。

2.3 最低可安装的目标API级别

从Android14开始,targetSdkVersion低于23的应用将无法被安装,此举旨在提高用户的安全性和隐私性,一些恶意软件通常会入侵一些API级别较低的设备,从而绕过最新版Android系统对用户的保护,当尝试在Android14设备上安装低版本应用时,会显示安装失败并抛出日志:INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 23

2.4 授予对照片和视频的部分访问限制

在Android14上,当应用请求READ_MEDIA_IMAGES或READ_MEDIA_VIDEO媒体权限时,用户可以授予应用访问部分照片和视频的权限,新对话框显示以下权限选项:

「选择照片和视频:」 Android 14 中的新功能,用户选择他们想要提供给应用的特定照片和视频。

「全部允许」:用户授予对设备上所有照片和视频的完整库访问权限。

「不允许」:用户拒绝所有访问。

Part 03●  总结 

Android14在近两个月应该会推出稳定版,本期分享主要对Beta版系统新特性和版本适配进行了简要分析,之后 API 应该不会有大的变动。Android14针对UI交互和应用权限方面做出进一步地优化,给用户带来全新使用体验的同时还兼顾了安全性和隐私性,不知道看完这篇分享的开发者和用户小伙伴们对Android14有没有更期待了呢,接下来让我们一起静待Android14稳定版的发布吧~

参考文献

[1] [2]  来源于谷歌官网(https://developer.android.google.cn/about/versions/14?hl=zh-cn).

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
DP83822IRHBR 1 Texas Instruments Low-power, robust 10/100-Mbps Ethernet PHY transceiver with 16-kV ESD 32-VQFN -40 to 85

ECAD模型

下载ECAD模型
$5.64 查看
KSZ8863FLLI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP48
$4.95 查看
CMWX1ZZABZ-078 1 Murata Manufacturing Co Ltd LORA MODULE

ECAD模型

下载ECAD模型
$16.04 查看

相关推荐

电子产业图谱

移动Labs是中国移动的社交化新媒体平台,是面向外部行业及产业链合作伙伴的信息发布、业务发展和产业推进门户。