android9.0记录

9.0新增功能:

利用Wi-Fi RTT进行室内定位

  Android 9添加了对IEEE 802.11mc Wi-Fi协议(也称为  Wi-Fi往返时间  (RTT))的平台支持,从而让您的应用可以利用室内定位功能。

  在运行 Android 9 且具有硬件支持的设备上,应用可以使用 RTT API 来测量与附近支持 RTT 的 Wi-Fi 接入点 (AP) 的距离。 设备必须已启用位置服务并开启 Wi-Fi 扫描(在 Settings > Location 下),同时您的应用必须具有 ACCESS_FINE_LOCATION 权限。

  注:设备无需连接到接入点即可使用 RTT。 为了保护隐私,只有手机可以确定与接入点的距离;接入点无此信息。

显示屏缺口支持

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

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

  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT   只有当DisplayCutout完全包含在系统状态栏中时,才允许窗口延伸到DisplayCutout区域显示
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES   该窗口决不允许与DisplayCutout区域重叠。
  • LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER  该窗口始终允许延伸到屏幕短边上的DisplayCutout区域。

可以按以下方法在任何运行 Android 9 的设备或模拟器上模拟屏幕缺口:

  1. 启用开发者选项。
  2. 在 Developer options 屏幕中,向下滚动至 Drawing 部分并选择 Simulate a display with a cutout
  3. 选择屏幕缺口的大小。

注:我们建议您通过使用运行Android 9的设备或模拟器测试屏幕缺口周围的内容显示

通知

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

  • 简化了针对对话参与者的支持:Person 类可用于识别参与对话的人员,包括他们的头像和URI。现在,许多其他API(如  addMessage())均可利用[ Person]类而不是  CharSequencePerson 类也支持构建器设计模式。

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

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

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

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

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

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

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

    此外,的您应用可以使用全新的  getNotificationChannelGroup() 函数查询当前渠道组设置。

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

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

    • PRIORITY_CATEGORY_ALARMS 优先处理警报。
    • PRIORITY_CATEGORY_MEDIA 优先处理媒体源的声音,如媒体和语音导航。
    • PRIORITY_CATEGORY_SYSTEM 优先处理系统声音。
  • NotificationManager.Policy 还有7种新的“请勿打扰”常量,可以用来抑制视觉中断:

    • SUPPRESSED_EFFECT_FULL_SCREEN_INTENT 防止通知启动全屏活动。
    • SUPPRESSED_EFFECT_LIGHTS 屏蔽通知灯。
    • SUPPRESSED_EFFECT_PEEK 防止通知短暂进入视图(“滑出”)。
    • SUPPRESSED_EFFECT_STATUS_BAR 防止通知显示在支持状态栏的设备的状态栏中。
    • SUPPRESSED_EFFECT_BADGE 在支持标志的设备上屏蔽标志。如需了解详细信息,请参阅修改通知标志
    • SUPPRESSED_EFFECT_AMBIENT 在支持微光显示的设备上屏蔽通知。
    • SUPPRESSED_EFFECT_NOTIFICATION_LIST 防止通知显示在支持列表视图(如通知栏或锁屏)的设备的列表视图中。

HTTP修改

  从Android 9开始,默认情况下该内容库已从bootclasspath中移除且不可用于应用。

  要继续使用Apache HTTP客户端,以及Android 9及更高版本为目标的应用可以向其  AndroidManifest.xml 添加以下内容:

  注:拥有最低SDK版本23或更低版本的应用需要  android:required="false" 属性,因为在API级别低于24的设备上,org.apache.http.legacy 库不可用。 

你可能感兴趣的:(Android,Android的,9.0)