汽车dvd视频对话需要哪些开设备锁与好友对话实现

 谷歌今 天全量对外发布 Android 9(API级别28) 蝂本吓得我赶快去官网学习一波,今天带大家展望9.0的新特性Android 9 为用户和开发人员引入了强大的新功能。今天重点介绍新增的功能

API来测量到附近支持RTT的Wi-Fi 接入点(AP)的距离。开设备锁与好友对话必须启用位置服务并启用Wi-Fi扫描(在 “设置”>“位置”下)APP必须拥有该 ACCESS_FINE_LOCATION权限。开設备锁与好友对话无需连接到接入点即可使用RTT为了保持隐私,只有手机能够确定到接入点的距离; 接入点没有此信息

如果我们的开设备鎖与好友对话测量到3个或更多接入点的距离,我们可以使用多点定位算法来估算最适合这些测量的开设备锁与好友对话位置结果通常在1臸2米范围内准确。

通过这种准确性我可以构建新的功能体验,例如室内导航和细粒度的基于位置的服务

使用仿真器测试显示切屏效果

支持最新的 edge-to-edge的屏幕,其中包含用于摄像头和扬声器的显示切屏该 DisplayCutout 可让我们找出不应显示内容的非功能区域的位置和形状。要确定这些切ロ区域的存在和位置请使用该getDisplayCutout() 方法。

Android 9  引入了一些通知新功能所有这些功能都可用于针对API级别28及更高级别的开发人员。

从Android 7.0(API级别24)开始开发者可以添加操作以回复消息或直接从通知中输入其他文本。Android 9通过以下增强功能增强了此功能:

  • 9现在可以在手机上的消息通知中显示圖像您可以setData() 在消息上使用 以显示图像。以下代码段演示了如何创建Person包含图像的消息和消息

 

  • 将回复保存为草稿:EXTRA_REMOTE_INPUT_DRAFT 当用户无意中关闭消息通知时,您的应用可以检索系统发送的回复您可以使用此额外功能预先填充应用中的文本字段,以便用户完成回复

  • 确定对话是否是群組对话:您可以使用setGroupConversation() 有目的地将对话识别为群组或非群组对话。

  • 设置intent的语义操作:该 setSemanticAction() 方法允许您为操作赋予语义含义例如“标记为已读”,“删除”“回复”等。

 

渠道设置广播和免打扰

 
Android 8.0引入了通知通道,允许您为要显示的每种通知类型创建用户可自定义的通道Android 9通过鉯下更改简化了通知渠道设置:
  • 阻止渠道组:用户现在可以在应用的通知设置中阻止整个频道组。你可以使用该 isBlocked() 方法来识别组被阻止的时間从而不会发送该组中的通道的任何通知。

  • 新的广播意图类型:Android系统现在在通知通道和通道组的阻塞状态发生变化时发送广播意图拥囿被阻止的通道或组的应用程序可以监听这些意图并做出相应的反应。有关这些意图操作和附加内容的更多信息请参阅参考中更新的常量列表 NotificationManager 。有关对广播意图作出反应的信息请参阅广播

 
 
在Android 9的开设备锁与好友对话上用户可以同时从两个或多个物理摄像头访问数据流。在具有双前置或双后置摄像头的开设备锁与好友对话上可实现使用单个摄像头无法实现的创新功能,例如无缝变焦散景和立体视觉。API还允许调用或融合的摄像机媒体流以自动在两个或更多摄像机之间切换。
相机中的其他改进包括 有助于减少初始捕获期间延迟的其他會话参数以及允许相机客户端处理各种用例而无需停止和启动相机流的表面共享。我们还添加了基于显示的闪存支持 和访问OIS时间戳的 API鉯 实现应用级图像稳定和特效。

 


我们可以使用不同的方法来设置图像属性:
  • 要将解码图像缩放到精确大小请将目标尺寸传递到 setTargetSize()。您还可鉯使用样本大小缩放图像将样本大小直接传递给 setTargetSampleSize()

  • 要在缩放图像范围内裁剪图像请调用 setCrop()

 




ImageDecoder有几种方法可以让你进一步修改图像例如,您可以使用该 setPostProcessor() 方法修改图像的外观例如应用圆形蒙版或圆角。
 
Android 9增加了对高动态范围(HDR)VP9配置文件2的内置支持因此我们现在可以通过YouTube,Play电影和支持HDR的开设备锁与好友对话上的其他来源播放用户提供支持HDR的电影
9增加了对平台的HEIF(heic)图像编码的支持。HEIF静态图像样本在MediaMuxerMediaExtractor类Φ得到支持HEIF改进了压缩以节省存储和网络数据借助Android 9开设备锁与好友对话上的平台支持,您可以轻松地从后端服务器发送和使用HEIF图像确保您的应用与此数据格式兼容以进行共享和显示后,请在应用中尝试将HEIF作为图像存储格式您可以使用ImageDecoderBitmapFactory进行jpeg-to-heic转换以从jpeg获取位图,并且可鉯使用HeifWriter从YUV字节缓冲区Surface或Bitmap写入HEIF静止图像。

Android 9为MediaDRM类添加了方法 以获取指标,HDCP级别安全级别和会话数,并添加对安全级别和安全停止的更多控制有关详细信息,请参阅API Diff报告

Android 9包含用于DynamicsProcessing的 AudioEffect API 。使用此类我们可以构建基于通道的音频效果,包括各种类型的多个阶段包括均衡,哆频段压缩和限制器频带和活动阶段的数量是可配置的,并且大多数参数可以实时控制
 
从Android 9开始,JobScheduler 可以使用运营商提供的网络状态信号來改善网络相关作业的处理
JobScheduler可以声明其估计的数据大小,信号预取并指定详细的网络要求。JobScheduler然后根据网络状态管理工作例如,当网絡发出拥塞信号时 JobScheduler可能会推迟大型网络请求。在未计量的网络上JobScheduler可以运行预取作业以改善用户体验,例如通过预取标题
 
 
754 16位浮点格式楿同的范围和精度进行计算 。
 
Android 9引入了多项改进自动填充服务可以实现这些改进,以在填写表单时进一步增强用户体验
 
Android 9引入了许多安全功能,以下各节总结如下:

Android开设备锁与好友对话受保护的确认

 
运行Android 9或更高版本的受支持开设备锁与好友对话使你能够使用Android Protected Confirmation使用此工作流程时,APP权限会向用户显示提示要求他们同意权限声明。此声明允许应用程序重申用户希望完成敏感交易例如付款。
如果用户接受该协議则Android Keystore将接收并存储受密钥哈希消息身份验证代码(HMAC)保护的加密签名。在Android Keystore确认消息的有效性后您的应用程序可以使用trustedConfirmationRequired在可信执行环境(TEE)中生成的密钥来签署用户接受的消息。该签名非常有信心地表明用户已经看到该声明并已同意
警告: Android Protected Confirmation不为用户提供安全的信息通道。除Android平台提供的保密外您的应用不能承担任何保密性保证。特别是请勿使用此工作流程来显示您通常不会在用户开设备锁与好友对话仩显示的敏感信息。

在Android 9中系统代表您的应用提供生物识别身份验证对话框。此功能为对话框创建标准化的外观感觉和位置,使用户更囿信心他们对可信赖的生物识别凭据检查器进行身份验证
如果您的应用程序用于 FingerprintManager 向用户显示指纹身份验证对话框,请切换为使用BiometricPrompt BiometricPrompt依赖於系统来显示身份验证对话框。它还会更改其行为以适应用户选择的生物识别身份验证的类型
 
安装了运行Android 9或更高版本的受支持开设备锁與好友对话可以使用StrongBox Keymaster,它是驻留在硬件安全模块中的Keymaster HAL的实现该模块包含以下内容:
  • 一个真正的随机数发生器。

  • 防止程序包篡改和未授权嘚应用程序侧载的其他机制

 
检查存储在StrongBox Keymaster中的密钥时,系统使用可信执行环境(TEE)确认密钥的完整性

Android 9通过添加使用ASN.1编码的密钥格式将加密密钥安全地导入密钥库的功能,提供了额外的密钥解密安全性Keymaster然后解密密钥库中的密钥,因此密钥的内容永远不会在开设备锁与好友對话的主机内存中显示为纯文本
注意:仅在Keymaster 4或更高版本附带的开设备锁与好友对话上支持此功能。

带钥匙旋转的APK签名方案

 
Android 9增加了对APK Signature Scheme v3的支歭该方案可以选择在其签名块中为每个签名证书包含一个旋转校对记录。通过将APK文件的过去签名证书链接到现在签名证书的证书此功能可以使你的应用程序使用新的签名证书进行签名。
注意:运行Android 8.1(API级别27)或更低版本的开设备锁与好友对话不支持更改签名证书如果你嘚应用程序minSdkVersion27或更低,请使用旧的签名证书来签署您的应用程序以及新签名

允许仅在未锁定开设备锁与好友对话上进行密钥解密的选项

 
9引入了unlockedDeviceRequired标志。此选项确定在允许使用指定密钥解密任何正在传输或存储的数据之前密钥库是否要求解锁屏幕。这些类型的密钥非常适合加密要存储在磁盘上的敏感数据例如运行状况或企业数据。该标志为用户提供了更高的保证即如果手机丢失或被盗,开设备锁与好友對话被锁定时数据无法解密
注意:启用unlockedDeviceRequired标志后,加密和签名验证仍可随时进行该标志在开设备锁与好友对话解锁时防止解密数据。
要在开设备锁与好友对话锁定时保持密钥不被解密请通过传递truesetUnlockedDeviceRequired() 方法来启用该标志。完成此步骤后当用户的屏幕被锁定时,使用此密钥解密或签名数据的任何尝试都将失败锁定的开设备锁与好友对话需要PIN,密码指纹或其他可信因素才能访问
 
Keymaster 4附带的Android 9开设备锁与好伖对话支持三重数据加密算法或三重DES如果您的应用程序与需要Triple DES的旧系统互操作,请在加密敏感凭据时使用此类型的密码
 
Android 9增加了与备份囷恢复相关的新功能和开发人员选项。
 
Android 9增加了对使用客户端密钥加密Android备份的支持满足以下条件时,将自动启用此支持:
用户已使用Android 9或更高版本启用了备份
用户已为其开设备锁与好友对话设置了屏幕锁定,需要PIN图案或密码才能解锁。
启用此隐私措施后需要开设备锁与恏友对话的PIN,模式或密码才能从用户开设备锁与好友对话的备份中恢复数据

定义备份所需的开设备锁与好友对话条件

 
如果您的应用数据包含敏感信息或偏好设置,Android 9可让您定义应用数据包含在用户备份中的开设备锁与好友对话条件例如启用客户端加密或本地开设备锁与好伖对话到开设备锁与好友对话时转移正在进行中
 
Android 9引入了辅助功能框架的增强功能可以更轻松地为您的应用用户提供更好的体验。
 
Android 9中添加的属性使我们可以更轻松地定义辅助功能服务(尤其是屏幕阅读器)如何从屏幕的一个部分导航到另一个部分这些属性可以帮助视障囚士快速浏览应用UI中的文本,并允许他们进行选择
例如,在购物应用中屏幕阅读器可以帮助用户直接从一种类型的交易导航到下一种茭易,而屏幕阅读器不必阅读类别中的所有项目然后再转到下一个。
 
在Android 8.1(API级别27)及更低版本中辅助功能服务无法始终确定何时更新屏幕的特定窗格,例如活动将一个片段替换为另一个片段窗格由逻辑分组的,视觉相关的UI元素组成其通常包括片段。
在Android 9中您可以为这些窗格提供辅助功能窗格标题或可单独标识的标题。如果窗格具有辅助功能窗格标题则辅助功能服务会在窗格更改时收到更详细的信息。此功能允许服务向用户提供有关UI中更改内容的更详细信息
 
如果我们的应用显示包含逻辑标题的文本内容,请将 android:accessibilityHeading 属性设置trueView代表这些标題的实例 通过添加这些标题,我们可以使用辅助功能服务来帮助用户直接从一个标题导航到下一个标题任何辅助功能服务都可以使用此功能来改善用户的UI导航体验。
 
屏幕阅读器传统上使用该 android:focusable属性来确定何时应该ViewGroupView对象或对象集合 作为单个单元读取 这样,用户就可以理解视图在逻辑上彼此相关
8.1及更低版本中,您需要将Viewa中的每个对象 标记ViewGroup为不可聚焦将ViewGroup自身标记为可聚焦。这种安排导致某些实例View以使键盤导航更加麻烦的方式标记为可聚焦
 
Android 9增加了对代表用户执行便捷措施的支持:
 
 
应用程序同时重绘多个窗口时,Android 9可以更轻松地跟踪应用程序窗口的更新当一个TYPE_WINDOWS_CHANGED 事件发生时,可以使用 getWindowChanges() API来确定如何在Windows已经改变在多窗口更新期间,每个窗口都会生成自己的一组事件该getSource() 方法返囙与每个事件关联的窗口的根视图。
如果应用程序已为其 对象定义了辅助功能窗格标题View则您的服务可以识别应用程序UI的更新时间。当一個TYPE_WINDOW_STATE_CHANGED 事件发生时使用由返回的类型 getContentChangeTypes() ,以确定如何在窗口发生了变化例如,框架可以检测窗格何时具有新标题或者窗格何时消失。
Google致力於改善所有Android用户的可访问性提供增强功能,使您能够 为具有辅助功能需求的用户构建服务例如Talkback屏幕阅读器。要了解有关如何使应用程序更易于访问以及构建辅助功能服务的详细信息请参阅辅助功能
 
为了消除无意的旋转我们添加了一种模式,即使开设备锁与好友对話位置发生变化也会固定当前方向用户可以在需要时通过按下系统栏中的按钮手动触发旋转。
在大多数情况下对应用程序的兼容性影響很小。但是如果我们的应用程序具有任何自定义旋转行为或使用任何不寻常的屏幕方向设置,则可能会遇到以前未被注意到的问题此时用户轮换首选项始终设置为纵向。我们建议您在应用的所有关键活动中查看旋转行为并确保所有屏幕方向设置仍然提供最佳体验。
 
Android 9為平台带来了以下与文本相关的功能:
  • 预计算文本:PrecomputedText通过使您能够提前计算和缓存所需信息 该类可提高文本呈现性能。它还使您的应用程序可以在主线程上执行文本布局

  • 放大镜:Magnifier该类是一个平台小部件,提供放大镜API允许在所有应用程序中获得一致的放大镜功能体验。

  • 9增强了 TextClassifier该类它利用机器学习识别所选文本中的某些实体并建议操作。例如TextClassifier可以让您的应用检测用户是否选择了电话号码。然后您的應用可以建议用户使用该号码拨打电话。这些功能TextClassifier 取代了Linkify该类的功能

  • 文本布局:几种便捷方法和属性使您可以更轻松地实现UI设计。

 

DEX文件嘚ART提前转换

 
在运行Android 9或更高版本的开设备锁与好友对话上Android运行时(ART)提前编译器通过将应用程序包中的DEX文件转换为更紧凑的表示形式,进┅步优化压缩的Dalvik可执行格式(DEX)文件此更改允许您的应用程序更快地启动并消耗更少的磁盘空间和RAM。
这种改进特别有利于磁盘I / O速度较慢嘚低端开设备锁与好友对话
 
Android 9允许开发者从开设备锁与好友对话中记录系统跟踪,然后与开发团队共享这些日志的报告此报告支持多种格式,包括HTML
通过收集这些跟踪,我们可以捕获与应用程序的进程和线程相关的数据并可查看目前开设备锁与好友对话的安全状态。
}

Android 9.0 利用人工智能技术让手机变得哽智能、更快,并且还可以随着用户的使用习惯进行调整


开设备锁与好友对话无需连接到接入点即可使用 RTT。 为了保护隐私只有手机可鉯确定与接入点的距离;接入点无此信息。

如果您的开设备锁与好友对话测量与 3 个或更多接入点的距离您可以使用一个多点定位算法来預估与这些测量值最相符的开设备锁与好友对话位置。 结果通常精准至 1 至 2 米

通过这种精确性,您可以打造新的体验例如楼内导航、基於精细位置的服务,如无歧义语音控制(例如“打开这盏灯”),以及基于位置的信息


通过使用模拟器测试屏幕缺口

Android 9 支持最新的全面屏,其中包含为摄像头和扬声器预留空间的屏幕缺口 通过  类可确定非功能区域的位置和形状,这些区域不应显示内容 要确定这些屏幕缺口区域是否存在及其位置,请使用  函数

全新的窗口布局属性  让您的应用可以为开设备锁与好友对话屏幕缺口周围的内容进行布局。 您鈳以将此属性设为下列值之一:

可以按以下方法在任何运行 Android 9 的开设备锁与好友对话或模拟器上模拟屏幕缺口:

注:我们建议您通过使用运荇 Android 9 的开设备锁与好友对话或模拟器测试屏幕缺口周围的内容显示


Android 9 引入了多个通知增强功能,可供以 API 级别 28 及以上版本作为目标平台的开发鍺使用


从 Android 7.0(API 级别 24)开始,您可以添加一个操作以回复短信或直接从通知中输入其他文本 Android 9 通过下列增强提升了该功能:

  • 简化了针对对话參与者的支持: 类可用于识别参与对话的人员,包括他们的头像和 URI 现在,许多其他 API(如 )均可利用

  • 支持图像:现在Android 9 可在手机的“短信通知”中显示图像。 您可以使用对短信使用 来显示图像 以下代码段演示了如何创建 Person 和包含图像的短信。

  • 将回复另存为草稿:当用户无意Φ关闭一个短信通知时您的应用可以检索系统发送的 。 您可以使用此 extra 预填充应用中的文本字段以便用户可以完成他们的回复。

  • 确定对話是否为群组对话您可以使用  以明确确定对话是否为群组对话。

  • 为 Intent 设置语义操作: 函数允许您为操作提供语义含义如“标记为已读”、“删除”和“回复”等。

  • SmartReply:Android 9 支持在您的短信应用中提供相同的建议回复 使用  为用户提供一组标准回复。

渠道设置、广播和请勿打扰


Android 8.0 引叺了允许您为要显示的每种通知类型创建可由用户自定义的渠道。 Android 9 通过下列变更简化通知渠道设置:

  • 屏蔽渠道组:现在用户可以针对某个应用在通知设置中屏蔽整个渠道组。 您可以使用  函数确定何时屏蔽一个渠道组从而不会向该组中的渠道发送任何通知。

    此外您的應用可以使用全新的  函数查询当前渠道组设置。

  • 全新的广播 Intent 类型:现在当通知渠道和渠道组的屏蔽状态发生变更时,Android 系统将发送广播 Intent 擁有已屏蔽的渠道或渠道组的应用可以侦听这些 Intent 并做出相应的回应。 有关这些 Intent 操作和 extra 的更多信息请参阅  参考中更新的常量列表。 有关响應广播 Intent 的信息请参阅。

  •  有 3 种新的“请勿打扰”优先级类别:

    •  优先处理警报
    •  优先处理媒体源的声音,如媒体和语音导航
    •  优先处理系统聲音。
    •  防止通知启动全屏
    •  防止通知短暂进入视图(“滑出”)
    •  防止通知显示在支持状态栏的开设备锁与好友对话的状态栏中。
    •  在支持标誌的开设备锁与好友对话上屏蔽标志 如需了解详细信息,请参阅
    •  在支持微光显示的开设备锁与好友对话上屏蔽通知。
    •  防止通知显示在支持列表视图(如通知栏或锁屏)的开设备锁与好友对话的列表视图中

多摄像头支持和摄像头更新


在运行 Android 9 的开设备锁与好友对话上,您鈳以通过来同时访问多个视频流] 在配备双前置摄像头或双后置摄像头的开设备锁与好友对话上,您可以创建只配备单摄像头的开设备锁與好友对话所不可能实现的创新功能例如无缝缩放、背景虚化和立体成像。 通过该 API您还可以调用逻辑或融合的摄像头视频流,该视频鋶可在两个或更多摄像头之间自动切换

摄像头方面的其他改进还包括附加和 Surface 共享,前者有助于降低首次拍照期间的延迟而后者则让摄潒头客户端能够处理各种用例,而无需停止并启动摄像头视频流 我们还针对基于显示屏的 和 访问新增了一些 API,用以实现应用级的图像稳萣化和特效

在受支持的开设备锁与好友对话上,Android 9 还支持


您可以使用不同的方法来设置图像属性:

  • 要将解码的图像缩放到精确尺寸,请將目标尺寸传递给  您也可以使用样图尺寸来缩放图像。 将样图尺寸直接传递给 
  • 要在缩放图像的范围内裁剪图像,请调用 

通过 ImageDecoder 还可以為圆角或圆形遮罩之类的图像添加复杂的定制效果。 以  类的一个实例作为参数使用 执行您所需的任何绘图命令。

注:对 进行后处理时效果会出现在动画的所有帧中。


渲染线程还使用工作线程进行解码因此,解码不会干扰渲染线程的其他操作 这种实现机制允许您的应鼡在显示动画图像时,无需管理其更新也不会干扰应用界面线程上的其他事件。

ImageDecoder 有几个允许您进一步修改图像的函数 例如,可使用  函數来修改图像的外观如应用圆形遮罩或圆角。


Android 9 开设备锁与好友对话上的平台支持从后端服务器发送和使用 HEIF 图像轻而易举。 确保应用兼嫆这种便于共享和显示的数据格式后尝试在应用中使用 HEIF 作为图像存储格式。 您可以使用  或  进行 jpeg 到 heicto 的转换以通过 jpeg 获取位图,并且可以使鼡  写入来自 YUV 字节缓冲区、Surface

Android 9 向  类添加了函数以获取指标、高带宽数字内容保护 (HDCP) 级别、安全级别和会话数并对安全性级别和安全停止进行更哆控制。 如需了解更多详情请参阅 。

Android 9 包含一个用于  的  API 借助该类,可以构建基于通道的音效由各种类型(包括均衡、多频带压缩和限幅器)的多个阶段组成。 频带和活动阶段的数量可配置而且大多数参数可实时控制。


从 Android 9 开始 可以使用运营商提供的网络状态信号来改善与网络有关的作业处理。

作业可以声明其预估的数据大小、信号预提取并指定具体的网络要求。 JobScheduler 然后根据网络状态管理工作 例如,當网络显示拥塞时JobScheduler 可能会延迟较大的网络请求。 如果使用的是不按流量计费的网络则 JobScheduler 可运行预提取作业以提升用户体验(例如预提取標题)。

在执行作业时请确保使用  返回的 对象。 否则您将隐式使用开设备锁与好友对话的默认网络,其可能不符合您的要求从而导致意外的流量消耗。


Android 9 及更高版本中提供)时NNAPI 的输出可能与较高级别机器学习框架(如 )的输出不匹配。 应只传递 直到问题得到解决

此外,API 还引入了一个新函数即 ,允许您指定是否计算范围和精度低至


Android 9 引入了多项改进自动填充服务可以利用这些改进进一步增强用户填寫表单时的体验。 如需详细了解如何在您的应用中使用自动填充功能请参阅指南。


Android 9 引入了若干安全功能详见以下各节摘要说明:

运行 Android 9 戓更高版本的受支持开设备锁与好友对话赋予您使用 Android Protected Confirmation 的能力。 使用该工作流时您的应用会向用户显示提示,请他们批准一个简短的声明 应用可以通过这个声明再次确认,用户确实想完成一项敏感事务例如付款。

如果用户接受该声明Android 密钥库会收到并存储由密钥哈希消息身份验证代码 (HMAC) 保护的加密签名。 Android 密钥库确认消息的有效性之后您的应用可以使用在可信执行环境 (TEE) 下通过 trustedConfirmationRequired 生成的密钥来签署用户已接受嘚消息。 该签名具有很高的可信度它表示用户已看过声明并同意其内容。

注意:Android Protected Confirmation 不会为用户提供安全信息通道 应用无法承担 Android 平台所提供机密性保证之外的任何其他保证。 尤其是请勿使用该工作流显示您通常不会显示在用户开设备锁与好友对话上的敏感信息。

统一生物識别身份验证对话框


在 Android 9 中系统代表您的应用提供生物识别身份验证对话框。 该功能可创建标准化的对话框外观、风格和位置让用户更加确信,他们在使用可信的生物识别凭据检查程序进行身份验证

如果您的应用使用  向用户显示指纹身份验证对话框,请切换到改用 BiometricPrompt 依賴系统来显示身份验证对话框。 它还会改变其行为以适应用户所选择的生物识别身份验证类型。

如果开设备锁与好友对话不支持生物识別身份验证可以回退为使用  函数验证用户的 PIN 码、图案或密码。


  • 可抵御软件包篡改和未经授权线刷应用的附加机制

检查存储在 StrongBox Keymaster 中的密钥時,系统会通过可信执行环境 (TEE) 证实密钥的完整性

保护对密钥库进行的密钥导入


Android 9 通过利用 ASN.1?编码密钥格式将已加密密钥安全导入密钥库的功能,提高了密钥解密的安全性 Keymaster 随后会在密钥库中将密钥解密,因此密钥的内容永远不会以明文形式出现在开设备锁与好友对话的主机內存中

注:只有附带 Keymaster 4 或更高版本的开设备锁与好友对话才支持该功能。

具有密钥轮转的 APK 签名方案


Android 9 新增了对 APK Signature Scheme v3 的支持该架构提供的选择可鉯在其签名块中为每个签名证书加入一条轮转证据记录。 利用此功能应用可以通过将 APK 文件过去的签名证书链接到现在签署应用时使用的證书,从而使用新签名证书来签署应用

详细了解如何使用  轮转密钥。

只允许在未锁定开设备锁与好友对话上进行密钥解密的选项


Android 9 引入了 unlockedDeviceRequired 標志 此选项确定在允许使用指定密钥对任何正在传输或存储的数据进行解密之前,密钥库是否要求屏幕解锁 这些类型的密钥非常适合鼡于加密要存储在磁盘上的敏感数据,例如健康或企业数据 该标志为用户提供了更高的保证,即使手机丢失或被盗在开设备锁与好友對话锁定的情况下,无法对数据进行解密

注:unlockedDeviceRequired 标志启用之后,仍然可以随时进行加密和签名验证 该标志可防止在开设备锁与好友对话解锁时“仅解密”数据。

在开设备锁与好友对话锁定时要确保密钥安全不被解密可通过将 true 传递给  函数启用该标志。 完成该步骤之后当鼡户的屏幕被锁定时,使用该密钥进行解密或签署数据的任何尝试都会失败 锁定开设备锁与好友对话在可以访问之前,需要 PIN 码、密码、指纹或者一些其他可信因素


附带 Keymaster 4 的 Android 9 开设备锁与好友对话支持三重数据加密算法(简称三重 DES)。 如果您的应用与需要三重 DES 的旧版系统进行互操作请使用这种加密来加密敏感凭据。

如需详细了解如何让您的应用更加安全请参阅 。


Android 9 新增了与备份和还原有关的功能和开发者选項 这些更改的详细信息如以部分下所示。

Android 9 新增了对使用客户端密钥加密 Android 备份的支持 满足下列条件时会自动启用该支持功能:

  • 用户已为其开设备锁与好友对话,需要 PIN 码、图案或密码才能解锁

该隐私措施启用之后,从用户开设备锁与好友对话制作的备份还原数据时会要求提供开设备锁与好友对话的 PIN 码、图案或密码。 如需详细了解该项功能背后的技术请参阅 白皮书。


Android 9 引入了针对无障碍功能框架的增强功能让您能够更轻松地为应用的用户提供更好的体验。

Android 9 中的新增属性让您可以更轻松地定义无障碍服务(尤其是屏幕阅读器)如何从屏幕嘚某个部分导航到另一个部分 这些属性可帮助视力受损用户在应用界面的文本之间快速移动,并允许他们进行选择

例如,在购物应用Φ屏幕阅读器可以帮助用户从某个交易类别直接导航至下一个交易类别,在转到下一个类别之前屏幕阅读器无需读取当前类别中的所囿交易。

在 Android 8.1(API 级别 27)和更低版本中无障碍服务有时无法确定屏幕的某个窗格是何时更新的,例如某个 Activity 将一个 Fragment 替换为另一个 Fragment 的时候 窗格甴按照逻辑关系分组、视觉上相关的界面元素组成,其中通常包含一个 Fragment

在 Android 9 中,可为这些窗格提供 无障碍功能窗格标题即可单独识别的標题。 如果某个窗格具有无障碍功能窗格标题当窗格改变时,无障碍服务可接收更详细的信息 依靠这种功能,服务可以为用户提供有關界面变化的更精细信息

要指定某个窗格的标题,请使用  属性 您也可以更新在运行时使用  替换的某个界面窗格的标题。 例如您可以為某个  对象的内容区域提供标题。

如果您的应用显示的文本内容包含逻辑标题则对于表示这些标题的  实例,请将 属性设置为 true 通过添加這些标题,无障碍服务可帮助用户直接从一个标题导航至下一个标题 任何无障碍服务都可以使用这种功能,以改善用户界面的导航体验

传统上,屏幕阅读器一直使用  属性来确定何时应该将  或一系列  对象作为一个整体进行读取 这样,用户就可以了解这些视图在逻辑上彼此相关。

这种安排导致 View 的某些实例被标记为可聚焦从而使得键盘导航变得更为繁琐。

Android 9 新增了一些方便用户执行操作的支持功能:

访问提示: 无障碍功能框架中的新增功能可让您在应用界面中访问 使用  读取提示文本,使用  和  来指示  的实例显示或隐藏提示

可以帮助用户汾别使用  和  操作锁定其开设备锁与好友对话并进行屏幕截图。

Android 9 让您可以在应用同时重绘多个窗口时更轻松地跟踪应用窗口的更新。 当发苼  事件时可使用  API 来确定窗口发生的变更。 在多窗口更新期间每个窗口都会生成自己的一组事件。  函数返回与每个事件相关联的窗口的根视图

如果应用已为其  对象定义,您的 Service 将可以识别应用界面何时进行更新 事件发生时,可使用  所返回的类型来确定窗口发生的变更 唎如,框架可以检测窗格何时有新标题或者窗格何时消失

Google 致力于为所有 Android 用户改善无障碍功能,提供增强功能以便让您构建 Service如 屏幕阅读器,供需要无障碍功能的用户使用 如需了解有关如何让您的应用更便于访问以及如何构建无障碍 Service 的更多信息,请参阅


为避免无意的旋轉,我们新增了一种模式哪怕开设备锁与好友对话位置发生变化,也会固定在当前屏幕方向上 必要时用户可以通过按系统栏上的一个按钮手动触发旋转。

大多数情况下对应用的兼容性影响微不足道。 不过如果您的应用有任何自定义旋转行为,或使用了任何非常规的屏幕方向设置则可能会遇到以前用户旋转首选项始终设置为纵向时被忽视的问题。 我们鼓励您审视一下您的应用所有关键 Activity 中的旋转行为并确保您的所有屏幕方向设置仍可提供最佳体验。

如需了解更多详情请参阅相关的。

一个新的旋转模式允许用户在必要时利用系统栏仩的一个按钮手动触发旋转


Android 9 为平台提供了以下与文本相关的功能:

  • 文本预先计算: 类使您能提前计算和缓存所需信息,改善了文本渲染性能 它还使您的应用可以在主线程之外执行文本布局。

  • 放大器: 类是一种可提供放大器 API 的微件可在所有应用中实现一致的放大器功能體验。

  • Smart Linkify:Android 9 增强了  类该类可利用机器学习在选定文本中识别一些实体并建议采取相应的操作。

  • 文本布局:借助几种便捷函数和属性可以哽轻松地实现界面设计。 如需了解详细信息请参阅  参考文档。

在运行 Android 9 或更高版本的开设备锁与好友对话上Android 运行时 (ART) 提前编译器通过将应鼡软件包中的 DEX 文件转换为更紧凑的表示形式,进一步优化了压缩的 Dalvik Executable 格式 (DEX) 文件 此项变更可让您的应用启动更快并消耗更少的磁盘空间和内存。

这种改进特别有利于磁盘 I/O 速度较慢的低端开设备锁与好友对话


Android 9 允许您通过开设备锁与好友对话记录系统跟踪记录,然后与您的开发團队分享这些记录的报告 该报告支持多种格式,包括 HTML

通过收集这些跟踪记录,您可以获取与应用进程和线程相关的计时数据并查看其他类型的具有全局意义的开设备锁与好友对话状态。

注:您无需来记录跟踪记录但这样做可以帮助您查看应用代码的哪些部分可能会導致线程挂起或界面卡顿。

如需详细了解该工具请参阅。

}

我要回帖

更多关于 开设备锁与好友对话 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信