Android 开发基础 Android P 开发者预览版发布,细数开发者最不能错过的新特性!

华为终端开放实验室 · 2018年03月09日 · 691 次阅读

导读
北京时间2018年3月8日,谷歌 Android P 开发者预览版在万众瞩目中发布,华为专家为广大开发者及各大加固厂商解读 P 版本中那些不容错过的新特性。华为终端开放实验室也将围绕 P 版本开展一系列的测试、交流活动,欢迎关注!

Android P 应用适配新特性

1、Private API

Android P 禁止应用通过反射调用系统 hide 标注的类、方法和属性,加入黑名单的私有接口被反射调用会返回 null 或者出现异常。

从目前的情况来看黑名单是空的,所有的私有接口都放在浅灰名单和深灰名单中,该特性对应用的影响取决于黑名单中的 API List,需要进一步跟踪黑名单 API List 的变化。

2、挖孔屏适配

应用可以充分利用最新的挖孔屏设备来展示内容。Android P 加入了对挖孔屏幕的支持,并提供相关 API 接口。

本功能会管理状态栏的高度从而将内容与裁切区域分开。如果有重要的沉浸式内容,还可以使用新的 API 查看裁切形状并创建全屏布局。开发者可以调用 getDisplayCutout() 来判断本地设备是否具挖孔屏,然后再确定裁切区域的位置和形状。另外,Android P 添加了一个新的窗口布局属性 layoutInDisplayCutoutMode 让开发者告诉系统如何以及何时将内容相对于裁剪区域进行布局。

Android P 版本加入开发者选项来模拟任意设备上的裁切画面,简化挖孔屏支持在应用上的构建以及测试流程。开发者可针对画面裁切功能进行应用测试以确保内容显示无误。

3、FLP/WiFi/GeoFence

应用使用 Google Play Services 的 FLP 和 Geofence 接口在后台定位将受到管控,位置数据上报频率将降低到每半小时一次,与 Android O 版本的控制策略一致,主要对海外使用 Goolge 的 FLP 和 Geofence 接口的导航类和运动健康类应用有影响。

4、多摄像头 API

Android P 提供可以通过两个或更多实体摄像头同时访问视频流的能力。开发者可以在具有双前置或双后置摄像头的设备上,实现单摄像头无法实现的创新功能:如无缝变焦、散景和立体视觉。该 API 还允许调用可以在两台或更多台摄像头之间自动切换的逻辑或混合摄像头视频流。

同时,摄像头的其他改进还包括:利用新的会话参数来有效减少初始捕捉时的延迟,表面共享技术让摄像头客户端无须重启视频流便可处理各种使用情况。此外,P 版本还添加了基于显示器的闪光灯支持以及 API 和 OIS 时间戳的访问权限,以实现应用层面的图像稳定和特效。

5、Improving Calling Experience

Android P 版本对该特性进行了扩展,支持不同 APP 的电话并发;Telecom 可以跟踪所有应用的 active call,但只有一个应用具有呼叫焦点,并支持在所有的通话中自由切换;此外应用可以将 OTT Call 通话记录写在系统通话记录中。

6、Call Handover Support

在 Android P 版本使用过程中,用户在使用系统通话时,可以切换到其他支持该特性的应用通话,此特性可以增强系统和应用的通话体验。

7、HEIF 图片格式支持

Android P 添加了对 HEIF 图像编码的支持,这种格式被广泛使用,改善了照片压缩效果,并减少了所需的存储空间和网络流量。如果开发者应用与该数据格式兼容,可用于分享或者显示,可以尝试利用 HEIF 为图像储存的格式。此外,开发者也可使用新支持库 alpha 版本中的 HeifWriter,从字 YUV 节缓冲区、表面以及位图中写入 HEIF 静态图像。

8、Action&Slice 关键特性

Android P 增加了 Action 与 Slice 两个关键特性。

Action 即服务直达,可以让用户更快捷地使用应用提供的一些服务。

Slice 类似于卡片,能够实现加强版的桌面 wiget(富语义的呈现模板、各种输入方式)。

应用开发者可依据实际需求开发独特的 Action 和 Slice,系统可以收集应用的 Action 和 Slice。在推荐、搜索、语音助手以及负一屏等场景使用时,可以让用户更快捷地使用应用开发者提供的一些服务及卡片。

9、通知样式和通知快速回复

Android P 将在通知中增加消息快速回复(Remoteinput:setChoices)功能,该功能的出现将提升即时通讯类应用的消息通知体验。

10、Crypto provider 删除

从 Android P 开始,Crypto JCA provider 功能将被去掉,调用 SecureRandom.getInstance(“SHA1PRNG”, “Crypto”) 将会报 NoSuchProviderException 错误。

未进行适配的应用将出现 crash 以及功能无法正常使用的情况。

11、前台服务权限新增

Android P 增加了应用调用前台服务权限的限制,如果应用想使用前台服务需要申请 FOREGROUND_SERVICE 权限,该权限属于普通权限,如果不申请该权限就直接启动前台服务会出现 SecurityException 提示。

该特性仅对已经适配到 Android P 系统的应用有影响。

12、通过 Build.serial 获取方法删除

当应用程序需要验证手机序列号时,该应用必须申请 READ_PHONE_STATE 权限,Android P 让用户来控制是否允许应用访问平台 Build.serial 识别码,应用可通过 Android P 新增的 Build.getSerial() 接口来获取手机序列号。

该特性仅对已经适配到 Android P 系统的应用有影响。

13、共享 WebView 数据目录取消

Android P 不再支持应用程序跨进程共享单个 WebView 数据目录的功能,这也就意味着如果应用有多个使用 WebView,CookieManager 或 android.webkit 包中的其他 API 进程时,当出现第二个进程调用 WebView 方法时,该应用将出现崩溃。

未进行适配的应用将出现崩溃的情况。

14、LocalOnlyHotspot

Android P 新增应用 API 以实现本地协同的多个设备进行内容共享。应用程序可使用该 API 建立本地 SoftAP(不可以共享 internet 上网),该功能可实现多个应用程序共享同一个 LOHS。

通过共享同一个 LOHS,多个设备之间不仅可以实现协同播放,还可以进行游戏的局域对战,增强了多个设备之间同个应用程序的互动性。

详细内容请查看以下链接

Android P 开发者预览版:
https://developer.android.google.cn/preview/index.html
Android Developers 官方文档:
https://developer.android.google.cn

😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍 😍

华为终端开放实验室围绕 P 版本兼容性的开放服务

1、华为终端开放实验室 P 版本兼容性测试即将上线

为促进各大手机应用和加固企业对 Android P 版本的兼容适配,华为 deveco 平台将于 3 月中旬开放 P 版本的兼容性评测功能。为各大应用与 P 版本的适配工作进行免费测试和提供改进意见。

2、“华为终端开放实验室社区” 上线

如果您有任何技术上的问题请进入华为终端开放实验室论坛板块参与讨论
链接:http://club.huawei.com/forum-3353-1.html

3、安卓 P 版本兼容性主题活动

华为 - 谷歌 P Lab 对外适配交流会初定 4 月中旬在北京举行。后续将围绕 Android P 版本举行一系列相关的线上线下活动和沙龙,敬请期待~

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册