OpenHarmony 5.1.0 发布


OpenHarmony 是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

OpenHarmony 5.1.0 Release 正式版已发布并上线 Gitee 平台,升级 API 18。

相比前一个 Release 版本(OpenHarmony 5.0.3,即 API 15),OpenHarmony 5.1.0 Release 重点做出了如下特性新增或增强:

  • 进一步增强 ArkUI,提供更丰富的组件属性设置,支持更多精致动效,持续补充组件通过 C API 调用的能力;

  • 进一步增强媒体能力,提供更丰富的编解码能力、播控能力、媒体会话管理能力;

  • 进一步丰富了应用启动的细节设置能力;

  • 进一步增强分布式数据管理的 UDMF、RDB 的数据处理能力;

  • 进一步完善了标准 Web 能力等等。

更详细的特性新增与增强的说明如下,将按照API版本顺序分别进行列举:

应用框架

  • 新增支持根据指定的数据加密级别创建应用上下文,以获取相应的路径。(API参考)

  • 新增支持同步获取当前进程的进程名(processName)。(API参考)

  • 新增支持获取应用被拉起原因(LAUNCH_REASON_MESSAGE)。(API参考)

  • 启动框架新增支持HAR/HSP和so文件。(指南、API参考)

  • 新增支持启动Ability时指定主窗口显示的最大宽高(maxWindowWidth/maxWindowHeight)和最小宽高(minWindowWidth/minWindowHeight)。(API参考)

  • 新增支持获取应用上一次退出的详细原因。(指南、API参考)

  • 新增支持设置UIAbility的颜色模式。(API参考)

  • 新增支持通过startAbility的属性startOptions来指定创建新窗口的大小(minWindowWidth、minWindowHeight、maxWindowWidth、maxWindowHeight)。(API参考)

  • C API新增支持启动Ability时传递startOptions。(API参考)

  • C API新增支持设置启动Ability时窗口和dock栏图标的显示模式。(API参考)

  • 新增一批C API函数,用于获取应用级别沙箱内文件目录。(API参考)

应用包管理

配置文件module.json5新增重定向配置:通过abilitySrcEntryDelegator标识当前Module需要重定向到的UIAbility的名称,通过abilityStageSrcEntryDelegator标识当前Module需要重定向到的UIAbility对应的Module名称(不可为当前Module名称),两者组合使用,共同指定重定向的目标对象。 (指南)

ArkUI

  • 文本与输入组件能力增强。包括:

    • 文本组件支持通过NODE_IMMUTABLE_FONT_WEIGHT属性,设置文字粗细不会跟随系统字体粗细而变化。(API参考-C API)
    • 文本组件支持对选中的文本提供分享服务(API参考)、支持按音节连字符换行(API参考)。
    • 文本组件新增支持设置文本选择菜单显示在独立窗口。(API参考)
    • 富文本(RichEditor)组件支持设置最大行数。(API参考)
    • TextInput组件支持设置文本省略位置。(API参考)
    • TextInput/TextArea/Search/RichEditor组件支持将文本行间距平分至行的顶部与底部。(API参考-TextInput、API参考-TextArea、API参考-Search、API参考-RichEditor)
    • TextInput/TextArea组件扩展自动填充类型,包含:车牌号、护照号等。(API参考-ArkTS、API参考-C)
    • 富文本(RichEditor)组件在长按预览菜单时支持振动效果。(API参考)
    • 基础类型定义新增支持清除当前的预上屏文本内容。(API参考)
  • 通用拖拽能力增强。包括:

    • 支持封装自定义落位动效。(API参考,API参考)

    • 支持自定义控制在拖拽至可滚动组件边缘时是否触发自动滚屏。(API参考)

  • 弹窗能力增强。包括:

    • 支持通过设置levelOrder来管理弹出框的显示顺序,确保层级较高的弹出框覆盖在层级较低的弹出框之上。(API参考、指南)
    • 支持在自定义内容中,创建和关闭对应的自定义弹窗。(API参考)
    • Popup组件支持通过maxWidth设置最大宽度。(API参考)
    • 半模态Popup样式弹窗,支持通过placement设置相对于目标的显示位置,通过placementOnTarget设置弹窗能否覆盖在目标节点上。(API参考)
    • Menu和Dialog支持通过backgroundBlurStyleOptions和backgroundEffect设置自定义背景模糊。(API参考-Menu、API参考-Dialog)
    • 模态转场和MenuItem支持!!双向绑定变量。(API参考-半模态转场、API参考-全屏模态转场、API参考-MenuItem)
    • 自定义弹窗支持避让键盘后,通过keyboardAvoidDistance设置弹窗和键盘之间的最小距离。(API参考、API参考-C)
    • 支持通过showInSubWindow设置半模态是否在子窗中显示、支持通过effectEdge设置半模态面板边缘滚动的效果。(API参考)
    • 菜单(Menu)在弹出时支持振动效果。(API参考)
  • 表单选择类组件能力增强。包括:

    • 新增SegmentButtonV2组件,可创建页签型、单选或多选的胶囊型分段按钮。(API参考)
    • TextPicker/TimePicker支持选项进入选中区域时触发事件回调。(API参考-TextPicker、API参考-TimePicker)
    • TimePicker/CalendarPicker支持通过start和end配置开始时间和结束时间(API参考-TimePicker、API参考-CalendarPicker)。
    • TimePicker支持通过enableCascade设置12小时制时上午下午跟随时间联动。(API参考)
  • 滚动与滑动组件能力增强。包括:

    • Swiper/Tabs组件增加页面选中元素改变时触发的回调,返回当前选中或将要隐藏的元素的索引值。(API参考-Swiper、API参考-Tabs)
    • Swiper组件增加控制手指或者鼠标等按下屏幕时子组件是否停止自动播放的能力。(API参考-Swiper)
    • Swiper组件CAPI能力增强,可设置缓存节点是否显示、数字导航点和导航箭头的样式。(API参考-CAPI)
    • List组件支持设置布局样式和滚动效果(NODE_LIST_SCROLL_TO_INDEX_IN_GROUP、 NODE_LIST_LANES、NODE_LIST_SCROLL_SNAP_ALIGN、NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION)(API参考-CAPI)。
  • 新增C API,支持可配置用户自定义数据的手势中断事件回调函数。(API参考)

  • 新增C API,支持获取事件命中组件的宽高和坐标信息。(API参考-CAPI)

  • 支持设置组件的自定义焦点走焦逻辑。(API参考、API参考-CAPI)

  • 支持动态获取手势配置参数,可返回连续点击次数阈值。(API参考)

  • 支持手势取消时触发的onActionCancel回调中返回手势事件信息。(API参考-LongPressGesture、API参考-PanGesture、API参考-PinchGesture、API参考-RotationGesture)

  • 无障碍支持自定义焦点顺序(API参考)、支持控制组件的屏幕朗读方式(API参考)、支持设置屏幕朗读滚动操作(API参考)。

  • 支持设置EmbeddedComponent或UIExtensionComponent组件的占用事件,指定手势事件的响应方式。(API参考)

  • 支持将当前FrameNode移动到目标FrameNode的指定位置,实现跨实例节点迁移。(API参考、API参考-CAPI)

  • NodeController新增节点上下树和绑定解绑前后的生命周期回调接口(onAttach、onDetach、onWillBind、onWillUnbind、onBind、onUnbind)。(API参考)

  • 支持对ComponentContent构建的UI组件进行截图。(API参考)

  • 新增鼠标轴事件相关接口。(API参考-ArkTS、API参考-C API)

  • NavDestination新增OnActive和OnInActive生命周期。(API参考)

  • C API的事件能力增强,新增支持获取事件命中的组件的宽度、高度、X坐标、Y坐标等能力。(API参考)

  • UIContext新增支持创建不依赖窗口的UI实例。(API参考)

  • 组件可见区域变化事件新增支持设置事件的回调参数,限制它的执行间隔。(API参考-ArkTS、API参考-C API)

  • ImageAnimator组件支持设置是否通过系统onVisibleAreaChange的可见性来判断组件的暂停和播放。(API参考)

窗口管理

  • 新增软键盘弹出动画完成的监听回调。(API参考)

  • 画中画窗口支持通过创建参数LocalStorage实现页面级别的UI状态存储单元,多实例下可用来跟踪主窗实例。(API参考)

  • 窗口管理新增支持创建虚拟屏幕。(API参考)

图形图像

新增一批C API函数和枚举,用于支持直接绘制到屏幕buffer的gpu渲染能力。(API参考)

分布式数据管理

  • RelationalStore新增rootDir配置,支持打开非database目录下的数据库。(API参考)

  • 关系型数据库新增支持根据指定的列索引或列名称获取列数据类型。(API参考)

  • UDMF新增支持将传入的data转换成多样式数据结构的能力。若原data使用多个record去承载同一份数据的不同样式,则可以使用此接口将原data转换为多样式数据结构。(API参考)

媒体

音频

  • 新增支持Float32格式音频输出。(API参考)

  • 新增支持空间音频管理的能力。(指南、API参考)

音视频编解码

  • 视频解码新增支持MPEG2、MPEG4、H.263。(指南)

播放控制

  • 播放器支持向应用透传SEI字段数据,适用于HTTP-FLV直播。(API参考)

  • 调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)、起播缓冲水线(preferredBufferDurationForPlaying)等播放策略。(API参考)

  • 播放器新增支持播放预下载的视频数据。(API参考)

  • 调用媒体播放器AVPlayer设置播放策略时,新增支持智能追帧水线(thresholdForAutoQuickPlay)。(API参考)

  • 能力增强:支持应用创建多个SoundPool实例。(API参考)

  • 调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)。(API参考)

  • 新增支持通过AV会话命令传递设置目标循环模式(setTargetLoopMode)的能力(API参考),并提供对设置动作的事件监听回调(API参考)。

  • 音频会话新增支持单句/单条歌词展示的属性singleLyricText。(API参考)

图片

  • 新增C API支持获取图片的可编辑标志。(API参考)

录制

  • 新增屏幕录制时视频填充模式的枚举。(API参考)

  • 音视频录制配置文件新增支持配置稳定录制模式enableStableQualityMode18。(API参考)

语言编译器运行时

  • TaskPool支持指定任务执行并发度和指定任务的排队策略。(API参考)

  • TaskPool支持通过任务ID取消任务池中的任务。(API参考)

  • collections(ArkTS容器集)在API 18新增支持以下方法(API参考): Array:from、isArray、of、copyWithin、lastIndexOf、some、reduceRight、reverse、toString、every、toLocaleString

    TypedArray:toString、toLocaleString、lastIndexOf、reduceRight

  • Sendable支持在缓存空间不够的时候,将近期最少使用的数据替换为新数据。(API参考)

  • Worker支持创建任务时指定任务的优先级。(API参考)

安全

新增基于群组的关键资产访问控制。通过设置群组属性,同一开发者开发的多个应用可以共享数据。(指南)

DFX

新增支持为当前线程转储虚拟机的原始堆快照。(API参考)

企业定制

  • 可禁用/启用的特性限制新增MTP(mtpClient/mtpServer)和恢复出厂设置(resetFactory)。(API参考)

  • 新增支持按系统账户安装用户证书。(API参考)

  • 新增支持订阅账号的新增、删除、切换系统事件。(API参考)

基础通信

  • 新增在蓝牙socket server端可以获取对端蓝牙设备虚拟MAC地址的功能(API参考)

  • 新增获取对端蓝牙设备原始名字的功能。(API参考)

  • 新增连接对端蓝牙设备可用profile的功能,如A2DP、HFP、HID等协议profile。(API参考)

  • 新增持久化存储对端蓝牙设备虚拟MAC地址的功能。(API参考)

  • 新增蓝牙BLE扫描围栏模式,可实现首次扫描到BLE广播报文时上报进入围栏,扫描不到BLE广播报文时上报离开围栏,并携带BLE广播报文信息。(API参考)

  • 完善蓝牙搜索到的设备信息,新增获取设备RSSI(信号强度)、名称和类别信息。(API参考)

  • 新增异步读取和发送蓝牙socket数据的功能,如果链路断开,会上报IO异常。(API参考)

位置服务

新增支持订阅蓝牙扫描信息上报事件用于辅助定位。(API参考)

网络管理

新增支持获取TLSSocket的文件描述符。(API参考)

剪贴板

剪贴板支持获取剪贴板的内容变化的次数。(API参考-ArkTS API、API参考-C API)

输入法

输入法框架新增支持设置显示预览文本时的回调(API参考),支持订阅输入法应用操作文本预览内容的事件(API参考)。

Web

  • 支持获取上一次被点击区域的元素信息。(API参考)

  • 支持设置Web组件是否开启字重跟随系统设置变化。(API参考)

  • 支持Web内音视频可对接到播控中心。(API参考)

  • 对接W3C规范,支持通过accept指定上传的文件类型。(API参考)

  • 提供静态方法,清除应用中的资源缓存文件。(API参考)

  • 新增支持以固定宽高设置同层渲染的元素。(API参考)

多模输入

新增支持设置处于前台的应用操作指定按键的回调。(API参考)

上传下载

  • 上传下载支持应用缓存下载能力,支持应用提前缓存文件到沙箱目录或内存中。(API参考)

  • 上传下载agent接口支持设置任务最高限速(API参考),支持设置待上传文件在表单中的content-type字段(API参考)。

资源调度

  • 新增后台子进程管理模块,提供应用对子进程进行压制、解压制的能力,避免子进程过多占用系统资源,导致系统使用卡顿。(API参考)

  • 后台代理提醒中提醒标题、提醒内容等字段支持设置资源ID,用于全球化适配。(API参考)

全球化

  • 新增支持获取用户偏好温度单位和周起始日的能力。(API参考)

  • 新增支持时间日期/数字精细化格式化的能力,便于更灵活的使用格式化能力。(API参考)

  • 新增支持返回富文本的数字格式化能力。(API参考)

  • 新增支持路径本地化显示的能力,可以根据输入语言判断路径是否需要镜像显示。(API参考)

测试框架

  • 新增支持按照模糊匹配/正则匹配方式查找符合条件的控件id、type的能力。(API参考:id、type)

  • 新增支持获取控件提示文本(API参考),并根据控件提示文本查找控件(API参考)。

  • 新增支持横向纵向查找控件,仅适用于支持滑动的控件。(API参考)

 

完整更新说明:OpenHarmony-v5.1.0-release


相關推薦

2024-10-09

将朝着哪些方向演进? 2024年10月12日-13日,一年一度的OpenHarmony技术大会(以下简称“大会”)即将迎来第三个年头,作为OpenHarmony开源社区乃至国内开源操作系统领域的年度盛会,今年大会将转场上海,以更大规模、更高规格

2023-09-22

据技术都能四世同堂,凭什么开发 30 岁就要被干掉? OpenHarmony SIG 组织在 Gitee 开源了兼容 OpenHarmony 的 Flutter。该组织主要用于孵化 OpenHarmony 相关的开源生态项目。 ▲ 仓库地址:https://gitee.com/openharmony-sig/flutter_flutter 根据

2022-07-31

OpenHarmony 3.2 Beta2 已发布。 版本概述 当前版本在OpenHarmony 3.2 Beta1的基础上,更新支持以下能力: 标准系统基础能力增强 新增支持窗口多热区分发机制。 支持电源管理重启恢复机制。 多模输入新增支持Input手写笔压感合

2023-11-11

基金会达成平台级战略合作。 据称团结引擎已全面支持 OpenHarmony 操作系统,同时将为 OpenHarmony 生态快速带来更多高品质游戏与实时 3D 内容。Unity 称现在用户可以“在 OpenHarmony 框架中感受到与安卓和 iOS 同样丝滑的游戏体验”

2022-10-11

龙芯中科宣布,OpenHarmony 操作系统与龙芯 2K0500 开发板已完成适配验证,龙架构 (LoongArch) 平台对于 OpenHarmony 已形成初步支持。 ▲ 龙芯2K0500开发板 龙芯2K0500是一款基于64位LA264处理器核设计的高集成度处理器芯片,主要面向工

2024-06-26

工具的领先供应商 Qt Group 宣布与华为合作,成为 OpenHarmony 生态系统合作伙伴。 via https://www.qt.io/ Qt Group的设计、开发和质量保证工具旨在促进开发者和设计师之间更紧密合作,通过让他们在同一框架内同时工

2023-11-07

OpenHarmony 公布了关于 4.0 Release 版本的开发数据。 据介绍,OpenAtom OpenHarmony 4.0 Release版本于10月27日发布,经过了32周的开发周期。 在此期间,有65499个Committs进入了版本。共有2220位贡献者为 4.0 Release版本做出了贡献。其中,华为

2023-11-23

开放原子开源基金会宣布与 Eclipse 基金会基于 OpenHarmony 的开源项目 Oniro 正式签署合作协议。 据称本次签约开放原子开源基金会创造了两个第一,一是开源历史上第一次两个基金会通过代码、品牌、IP、认证等方式共同发展一

2023-08-11

OpenHarmony项目群技术指导委员会(以下简称“TSC”)-跨平台应用开发框架TSG所孵化项目 —— ArkUI-X,近期已正式开源。 开发者基于一套主代码,就可以将在OpenHarmony上开发的精美、高性能应用同时运行在Android、iOS等其它OS平台

2023-08-09

绍。 ArkUI-X进一步将ArkUI扩展到了多个OS平台:目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。 关键特征 ArKUI跨平台框架关键特征

2023-04-08

OpenHarmony 3.2 已正式发布。 OpenHarmony 开源项目是由开放原子开源基金会孵化及运营的开源项目,由开放原子开源基金会 OpenHarmony 项目群工作委员会负责运作。 OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服

2024-04-05

OpenAtom OpenHarmony(以下简称“OpenHarmony”)4.1 Release版本已发布,开发套件同步升级到API 11 Release。 相比4.0 Release版本,4.1 Release版本应用开发的开放能力以全新的Kit维度呈现,提供给开发者更清晰的逻辑和场景化视角;新增4000多

2023-08-09

版本概述 OpenHarmony 4.0版本标准系统能力持续完善:ArkUI进一步增强基础组件能力,应用框架支持ArkTS卡片代理刷新,应用包支持应用、支持原子化服务数据共享、支持企业应用的安装管理,分布式软总线支持会话级的传输能力协

2023-06-08

OpenAtom OpenHarmony(简称“OpenHarmony”) 4.0 Beta1 版本现已发布,在3.2 Release版本基础上,继续提升标准系统的ArkUI、应用框架、图形媒体等子系统能力,并提供首批API Level 10接口。 作为OpenHarmony 4.0的首个Beta版本,其推出了系列新特性