Android 10.0 (Q) 系统特性详解

一.简介

 

Android 10 围绕三个重要主题构建而成。首先,Android 10 以其先进的机器学习和对新兴设备(如可折叠设备和支持 5G 的手机)的支持走在移动创新领域的前沿。其次,Android 10 的主要关注点之一就是隐私权和安全性,其中近 50 项功能可为用户提供更好的保护、更高的透明度以及让用户更好地控制相关数据。最后,Android 10 可让用户更好地控制数字健康,因此个人和家庭都可以更好地利用此项技术。


借助 Android 10,您可以针对可折叠设备和其他大屏幕设备优化应用。

 

可折叠设备
Android 10 基于强大的多窗口支持构建而成,扩展了跨应用窗口的多任务处理能力,还提供了屏幕连续性,可以在设备折叠或展开时维持应用状态。Android 10 在 onResume 和 onPause 中添加了多项改进,用于支持多项恢复,并在应用获得焦点时通知应用。它还更改了 resizeableActivity 清单属性的工作方式,以帮助您管理应用在可折叠设备和大屏幕设备上的显示方式。为帮助针对可折叠设备进行编译,您可以在 Android Studio 中配置可折叠模拟器来用作虚拟设备 (AVD)。

 

5G 网络
5G 有望在稳定提升速度的同时降低延迟,Android 10 新增了针对 5G 的平台支持,并扩展了现有 API 来帮助您充分利用这些增强功能。您可以使用连接 API 来检测设备是否具有高带宽连接,还可以检查连接是否按流量计费。借助这些功能,您的应用和游戏可以为使用 5G 的用户量身打造丰富的沉浸式体验。

 

 

 

 

 

 

二.变化

Android 10.0上有哪些变化呢,下面一一讲解。

 

 

<1> 手机相册

public void startAlbumActivityForResult(Activity activity) {
        if (!ActivityUtils.isActivityIsAlive(activity)) {
            return;
        }
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);//适配Android 10.0
        activity.startActivityForResult(intent, REQUEST_CODE_SELECT_PICTURE);
    }

 

 

 

 

<2> 重大隐私权变更

 

(2.1) 位置权限

为了让用户更好地控制应用对位置信息的访问权限,Android 10 引入了 ACCESS_BACKGROUND_LOCATION 权限。

与 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限不同,ACCESS_BACKGROUND_LOCATION 权限仅会影响应用在后台运行时对位置信息的访问权限。除非符合以下条件之一,否则应用将被视为在后台访问位置信息:

属于该应用的 Activity 可见。
该应用运行的某个前台设备已声明前台服务类型为 location。

要声明您的应用中的某个服务的前台服务类型,请将应用的 targetSdkVersion 或 compileSdkVersion 设置为 29 或更高版本。详细了解前台服务如何继续执行用户发起的需要访问位置信息的操作。

以 Android 9 或更低版本为目标平台时自动授予访问权限
如果您的应用在 Android 10 或更高版本上运行,但其目标平台是 Android 9(API 级别 28)或更低版本,则该平台具有以下行为:

如果您的应用为 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 声明了 <uses-permission> 元素,则系统会在安装期间自动为 ACCESS_BACKGROUND_LOCATION 添加 <uses-permission> 元素。
如果您的应用请求了 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION,系统会自动将 ACCESS_BACKGROUND_LOCATION 添加到请求中。
在设备升级到 Android 10 后访问
如果用户向您的应用授予对设备位置信息的访问权限(ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION),然后将其设备从 Android 9 升级到 Android 10,则系统会自动更新应用已获取的基于位置信息的那组权限。您的应用在设备升级后接收的那组权限取决于应用的目标 SDK 版本及其定义的权限,如下表所示:

 

 

 

(2.2) 分区存储

外部存储访问权限范围限定为应用文件和媒体
默认情况下,对于以 Android 10 及更高版本为目标平台的应用,其访问权限范围限定为外部存储,即分区存储。此类应用可以查看外部存储设备内以下类型的文件,无需请求任何与存储相关的用户权限:

特定于应用的目录中的文件(使用 getExternalFilesDir() 访问)。
应用创建的照片、视频和音频片段(通过媒体库访问)。
要详细了解分区存储以及如何共享、访问和修改在外部存储设备上保存的文件,请参阅有关如何管理外部存储设备中的文件以及如何访问和修改媒体文件的指南。

 

 

 

(2.3) 系统执行后台 Activity

从 Android 10 开始,系统会增加针对从后台启动 Activity 的限制。此项行为变更有助于最大限度地减少对用户造成的中断,并且可以让用户更好地控制其屏幕上显示的内容。只要您的应用启动 Activity 是因用户互动直接引发的,该应用就极有可能不会受到这些限制的影响。

要详细了解从后台启动 Activity 的建议替代方法,请参阅有关如何在应用中提醒用户注意有时效性的事件的指南。

 

 

 

 

 

 

 

 

 

附:官网:https://developer.android.google.cn/about/versions/10

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章