范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

华为鸿蒙HarmonyOSAPIVersion6关键差异点官方解读JSAPI和JavaAPI变更

  感谢IT之家网友 肖战割割 的线索投递!
  IT之家 7 月 19 日消息华为 HarmonyOS 官方表示,之前为各位开发者带来首份 API 差异报告,不少开发者还希望看到一份完整的 API 差异说明,现在华为官方发布了完整的 API 差异报告。
  IT之家获悉,首先是版本信息说明。目前发布 HarmonyOS SDK 2.2.0.1(API Version 6 Beta 1),相较上一版本 HarmonyOS SDK 2.1.1.21(API Version 5),SDK 的变更主要体现在两个方面,分别是 Java API 变更(API 6 -> API 5)和 JS API 变更(API 6 -> API 5)。
  下面是正式的差异报告解读。一、JS API 变更(API 6 -> API 5)
  1. 新增提供功能子系统的 API
  相较于 JS API Version 5 ,JS API Version 6 新增 API 如下表所示:
  2. 变更差异
  JS API Version 6,新增了较多原子化服务相关的接口,本文列举了部分新增接口。
  更多详细的更新内容请访问官网链接:https://developer.harmonyos.com/cn/docs/documentation/doc-releases/apidiff-js-api-6-phone-component-0000001170697425
  (1)JS UI 框架子系统
  新增了媒体、画布、栅格组件,如下表所示:
  (2) 泛 sensor 子系统
  新增了方向传感器及陀螺仪传感器的订阅、取消订阅接口,如下表所示:
  (3)文件子系统
  原文件存储"@system.file"接口,从 API Version 6 开始不再维护,推荐使用新接口 "@ohos.fileio" 进行文件管理,新增部分接口如下表:
  (4)网络子系统
  原数据请求 "@system.fetch",从 API Version 6 开始不再维护,推荐使用新接口 "@ohos.net.http" 发起 http 数据请求。新增部分接口如下表:
  (5)分布式管理子系统
  原数据存储 "@system.storage",从 API Version 6 开始不再维护,推荐使用新接口 "@ohos.data.storage" 进行数据管理。新增部分接口如下表:
  二、Java API 变更(API 6 -> API 5)
  1. 基础能力增强
  (1)Intent 新增 MissionTop 启动 flag
  Intent 中新增了应用通过 missionTop 模式启动的字段 FLAG_ABILITY_MISSION_TOP。如果启动 ability 的现有实例已经位于任务堆栈的顶部,则将重用该实例。否则,将创建新的 ability 实例。相关使用代码如下:Intentintent=newIntent(); Operationoperation=newIntent.OperationBuilder() .withDeviceId("") .withBundleName("com.demo") .withAbilityName("com.demo.XxxAbility") .withFlags(Intent.FLAG_ABILITY_MISSION_TOP) .build(); intent.setOperation(operation); startAbility(intent);
  (2)Intent 新增文件打开相关 Action 和 Entity
  Class ohos.utils.IntentConstants 中新增了 Action 和 Entity,用于文件打开,如下所示:StringACTION_EDIT_DATA="ability.intent.EDIT_DATA"; StringACTION_SELECT="ability.intent.SELECT"; StringACTION_SEND_DATA="ability.intent.SEND_DATA"; StringACTION_SEND_MULTIPLE_DATA="ability.intent.SEND_MULTIPLE_DATA"; StringACTION_SCAN_MEDIA_FILE="ability.intent.SCAN_MEDIA_FILE"; StringACTION_VIEW_DATA="ability.intent.VIEW_DATA"; StringENTITY_BROWSABLE="entity.system.browsable";
  开发者需要打开文件相关应用时,在 Intent 中设置对应 Action,代码如下所示:Intentintent=newIntent(); Operationoperation=newIntent.OperationBuilder() .withDeviceId("") .withAction(IntentConstants.ACTION_EDIT_DATA) .withEntities(IntentConstants.ENTITY_BROWSABLE) .build(); intent.setOperation(operation); startAbility(intent);
  (3)FA 流转新增回调方法
  Classohos.aafwk.ability.continuation.IContinuationDeviceCallback 下新增了两个方法,onConnected (ContinuationDeviceInfo deviceInfo) 和 onDisconnected ( String deviceId )。用于在 FA 主动流转时,在选择设备列表选择设备的回调中,新增设备名称参数,让应用区分流转的具体设备。其中 ContinuationDeviceInfo 中包含 deviceId,deviceType,deviceName (新增) 字段,开发者可以根据需要获取。
  JAVA API 6 废弃原有回调方法 onDeviceConnectDone (StringdeviceId, String deviceType),onDeviceDisconnectDone (StringdeviceId);
  2. 卡片服务能力强化
  (1)实现卡片服务克隆
  由于没有卡片克隆功能,以往将卡片从旧设备迁移到新设备时,系统默认创建一个新的卡片,卡片原本携带的数据将不能克隆到新设备。本次更新,为卡片管理服务 FMS 适配了克隆接口,实现卡片的克隆。
  (2)获取卡片状态
  小艺建议是 HarmonyOS2 上一款主动推荐当下所需服务和应用的智慧化助手,在卡片智能推荐中,当卡片的状态未完成之前,可能会给消费者推荐一张空白卡片,这样对于消费者来说毫无意义。本次版本更新,Class ohos.aafwk.ability.Ability 中新增了 onAcquireFormState (Intent) 方法,提供获取卡片状态功能,通过调用 onAcquireFormState,询问卡片状态是否 ready。只有卡片状态 ready 的情况下,才会显示在小艺建议推荐位。
  (3)设置下一次卡片刷新时间
  以往的卡片刷新,以 30min 作为一个基础值,按照 30*N(N=1、2、3、4..)来设置更新频率。这无法满足某些应用如基金、航班类的卡片刷新需求,因为应用希望能在某些时间段动态的设置下次卡片的刷新时间。
  本次版本更新中,Class ohos.aafwk.ability.Ability 中新增了 setFormNextRefreshTime (long,long) 方法,设置下次卡片刷新时间,用于卡片动态定时刷新。设置的时间间隔最小是 5min,每天最多设置 50 次。卡片管理服务根据提供方设置的时间更新定时器,定时器到点后,触发卡片应用的更新回调。
  3. 新增沙盒文件分享
  (1)FileAbility
  ohos.data.file 类中新增了 FileAbility 能力,提供应用沙盒文件分享的能力,用于沙盒内文件的分享。获取沙盒文件的流程如下所示:
  class FileAbility 中封装了获取文件信息的方法。publicclassFileAbilityextendsAbility{ publicFileAbility(){ thrownewRuntimeException("Stub!"); } publicvoidonStart(Intentintent){ thrownewRuntimeException("Stub!"); } publicStringgetType(Uriuri){ thrownewRuntimeException("Stub!"); } publicString[]getFileTypes(Uriuri,StringmimeTypeFilter){ thrownewRuntimeException("Stub!"); } publicFileDescriptoropenFile(Uriuri,Stringmode){ thrownewRuntimeException("Stub!"); } publicstaticUrigetUriViaFile(Contextcontext,StringAuthority,Filefile){ thrownewRuntimeException("Stub!"); } publicstaticFilegetFileViaUri(Uriuri){ thrownewRuntimeException("Stub!"); } }
  (2)FileAbility 开发步骤
  Step 1 声明:
  config.json 中配置 FileAbility 类,指明 ability 类型为 data, 权限配置 grantPermission : true。{ "name":"ohos.data.file.FileAbility", "icon":"$media:icon", "description":"$string:myfileability_description", "type":"data", "visible":true, "uri":"dataability://ohos.data.file.FileAbility", "grantPermission":true }
  Step 2 配置转换关系:
  在 hap 包内 resources/rawfile/ 目录下新建 fileability.json 的配置文件,用于配置 File 到 Uri 转换关系,同时指明哪些文件目录可以用来分享。配置转换关系后,路径会转换为对应 name。fileability.json 的配置文件如下所示:{ "paths":[ { "tag":"fileability-external-path", "name":"external_storage_root", "path":"." }, { "tag":"fileability-files-path", "name":"files-path", "path":"." }, { "tag":"fileability-cache-path", "name":"cache-path", "path":"." }, { "tag":"fileability-external-files-path", "name":"external_file_path", "path":"." }, { "tag":"fileability-external-cache-path", "name":"external_cache_path", "path":"." }, { "tag":"fileability-root-path", "name":"root-path", "path":"" } ] }
  Step 3 沙盒文件分享:
  发送侧调用 getUriViaFile ()FilephotoFile=newFile(getFilesDir(),"test.jpg"); Uriuri=FileAbility.getUriViaFile(getContext(),"/ohos.data.file.FileAbility",photoFile); Intentintent1=newIntent(); intent1.addFlags(0x00000001); intent1.addFlags(Intent.FLAG_NOT_OHOS_COMPONENT); intent1.setUriAndType(uri,"image/png"); ElementNameelement=newElementName("","com.os1devp.intentlication2","com.os1devp.intentlication2.MainAbility"); intent1.setElement(element); startAbility(intent1);
  接收侧调用 DataAbility.open () 获取文件句柄,处理沙盒文件:DataAbilityHelperhelper=DataAbilityHelper.creator(getContext()); UriintentUri=intent.getOperation().getUri(); FileDescriptorfs=helper.openFile(intentUri,"r");
  4. 新增后台代理提醒
  (1)原方案
  如下图所示,在原来的方案中,通过 Timer 类实现定时提醒,需要在后台拉起或者唤醒应用,导致后台应用对系统资源的占用,影响前台应用的用户体验。
  (2)改进方案
  能不能实现一个后台代理提醒的功能?统一托管所有提醒业务,在应用冻结或者退出之后,仍可进行倒计时、日历、闹钟的系统提醒。现在,他来了!
  如下图所示,开发者可以使用后台代理提醒的能力。通过后台代理实现定时提醒的同时,实现对后台应用的严格管控,减少后台应用被拉起或者唤醒次数,从而节省系统资源的开销。
  (3)新增内容
  如何实现后台代理功能?在本次 API 更新中,Package ohos.event.notification 中新增了 5 大基础类,包括 ReminderHelper、ReminderRequest、ReminderRequestTimer、ReminderRequestCalendar、ReminderRequestAlarm,基础类之间的关系如下图所示:
  Class ReminderHelper 中封装了代理通知基本操作,包括发布定时提醒类通知、注册提醒类需要使用的实例,取消指定的提醒类通知、取消当前应用设置的所有提醒。
  Class ReminderRequest 中封装了通知提醒的基本方法,包括获取设置的提醒时长、获取设置的延迟提醒次数、获取提醒的标题等。
  Class ReminderRequestTimer,提醒类子类,用于闹钟类提醒。
  Class ReminderRequestCalendar,提醒类子类,用于日历类提醒。
  Class ReminderRequestAlarm,提醒类子类,用于倒计时提醒。
  5.新增支持 continueAbility 免安装拉起 FA
  在以往的跨端迁移过程中,需要两台设备都安装对应的 FA,否则将无法实现跨端迁移。本次更新,增强了 continueAbility 接口功能,在指定 deviceId 情况下,如果检测到远端设备未安装 FA,远端设备的框架会自动向 HAG 查询、下载并安装 FA 并将其拉起。
  此外,IAbilityContinuation 接口中还新增了异常回调函数及错误码,如下所示:publicinterfaceIAbilityContinuation{ intERR_ABILITY_QUERY_FAILED=-2; intERR_CONTINUE_TIMEOUT=-8; intERR_DEVICE_OFFLINE=-9; intERR_INSTALL_FREE_NOT_SUPPORTED=-4; intERR_NETWORK_UNAVAILABLE=-3; intERR_PARAMETER_INVALID=-6; intERR_PERMISSION_DENIED=-5; intERR_REMOTE_DEVICE_INCOMPATIBLE=-7; intERR_UNKNOWN=-1; intSUCCESS=0; defaultvoidonFailedContinuation(interrorCode){ thrownewRuntimeException("Stub!"); } }
  6. 其他新增功能
  (1)StartAbility()
  Class ohos.aafwk.ability.Ability 中新增了带有回调参数的方法 startAbility (Intent,IAbilityStartCallback), 作用是在对端 Ability 免安装成功拉起后,回调开发者。避免了 Ability 在对端设备启动过程中的盲目等待。
  (2)getIconId()、getLabelId()
  Class ohos.bundle.ApplicationInfo 中新增了 getIconId ()、getLabelId () 两个方法,用于在 feature 没有配置 HomeAbility 的情况下,获取到应用的 label 和 icon。Label 是应用的标签,icon 为应用的图标。三、总结
  本次版本更新,新增内容较多,特别是 JS API 部分,新增了较多原子化服务相关的接口,感兴趣的用户可以点击,前往官网地址下载,升级尝鲜吧!
  https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta

华为鸿蒙HarmonyOS的万里长征和万里长城这些天来,HarmonyOS引发了无数人的强烈关注,以及各种声音杂糅交织的探讨。很多人都喜欢用操作系统的历史经验去推测HarmonyOS的未来,但说着说着就难以完成逻辑自洽。这是因华数传媒华数TV已在华为鸿蒙HarmonyOS智慧屏上线,手机端看情况IT之家6月15日消息据证券时报e公司,华数传媒今日在互动平台表示,华数TV已在华为搭载鸿蒙HarmonyOS的智慧屏上线,后续将根据市场与业务情况适时上线适配鸿蒙HarmonyO华为发布鸿蒙HarmonyOS2考题试卷,看看你能考几分IT之家6月15日消息6月2日晚上,华为正式发布鸿蒙HarmonyOS2操作系统及多款搭载HarmonyOS2的新产品,同时宣布华为手机平板等百款设备将陆续启动HarmonyOS2部分手机出现只能充电到80等问题,华为再回应已修复,可下载手机管家新版本解决感谢IT之家网友肖战割割的线索投递!IT之家4月26日消息,今日晚间,华为官方更新了关于部分手机只能充电到80和手机管家清理加速一直显示正在扫描问题的公告。华为表示,已修复该问题,两年前的华为P40Pro5G重新上架官方商城,8GB128GB售价5988元感谢IT之家网友白展堂的线索投递!IT之家4月7日消息,华为商城重新上架了华为P40Pro8GB128GB版本,提供亮黑冰霜银零度白深海蓝晨曦金五款配色,目前官方售价5988元,与曝华为Mate50Pro系列首发搭载骁龙8Gen14G芯片,MateX3折叠屏还有骁龙888版本感谢IT之家网友肖战割割软媒新友2038191的线索投递!IT之家4月7日消息,华为预计今年将发布重磅旗舰手机,包括华为Mate50系列MateX3折叠屏手机。华为Mate50系列开源鸿蒙OpenHarmony4。0社区版本发布计划公布,4。0。1。1已测试完成(附特性清单)感谢IT之家网友肖战割割的线索投递!IT之家4月18日消息,OpenHarmony开源项目是开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目。Open首届鸿蒙OpenHarmony开源开发者成长计划结项项目公示智能电饭煲智能电饼铛感谢IT之家网友颓然芳草的线索投递!IT之家4月16日消息,据OpenHarmony发布,首届OpenAtomOpenHarmony(简称OpenHarmony)开源开发者成长计划华为更新HarmonyOS鸿蒙智联生态产品接入智慧生活App开发指导(官方版)感谢IT之家网友肖战割割菜鸟N号的线索投递!IT之家4月26日消息,据华为鸿蒙发布,在HarmonyOSConnect生态产品应用开发过程中,很多开发者对于如何接入智慧生活App还开源鸿蒙OpenHarmony4。0社区版本发布计划更名为OpenHarmony3。2(附特性清单)感谢IT之家网友肖战割割的线索投递!IT之家4月26日消息,OpenHarmony开源项目是开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目。Open开源鸿蒙OpenHarmony3。1Release版本发布,逐步支持复杂标准带屏设备开发感谢IT之家网友菜鸟N号的线索投递!IT之家4月25日消息,今日,OpenAtomOpenHarmony(以下简称OpenHarmony)技术日在深圳召开。活动首次对外解读了Ope
玩转华为鸿蒙HarmonyOS2官方指南四个操作小技巧IT之家6月17日消息距离鸿蒙OS2。0规模化推送已经过去半个月,大部分预约用户已经成功升级,进入了更具智慧的鸿蒙世界。为了帮大家快速玩转鸿蒙OS2。0,华为官方准备了一份玩法说明华为鸿蒙HarmonyOS2。0开发者Beta32。0。0。128log版发布平板PC多屏协同感谢IT之家网友肖战割割的线索投递!IT之家6月17日消息据网友反馈,现在华为鸿蒙HarmonyOS2。0开发者Beta32。0。0。128log版已经发布,大小为5。44GB,通华为官方指导一文看懂鸿蒙HarmonyOS应用如何上架感谢IT之家网友菜鸟N号的线索投递!IT之家3月2日消息,据华为鸿蒙发布,大家一直以来都很关心如何上架HarmonyOS应用,现在来了,华为官方人员为大家梳理了HarmonyOS应华为手机小艺输入法1。0。10。300众测新增专业词库畅联支持表情发送长按候选词栏控制光标移动等感谢IT之家网友Mr丶苏余逸欣的线索投递!IT之家3月2日消息,近期,华为小艺输入法迎来了1。0。10。300版本众测体验,下载大小为46MB。小艺输入法是由华为开发的一款安全免费华为音乐12。11。23。102测试版发布新增空间音乐,全新加密歌曲扫描匹配功能上线感谢IT之家网友颓然芳草余逸欣的线索投递!IT之家3月11日消息,华为音乐新版本12。11。23。102在华为会员中心开启众测,下载大小为128。3MB,带来了多项新功能。官方介绍华为手机鸿蒙HarmonyOS智慧语音新版本测试翻译支持同声传译,小艺助手引入冰糖模式感谢IT之家网友逍遥剑圣的线索投递!IT之家1月6日消息,近期,华为鸿蒙智慧语音开启11。0。44。300众测,下载大小为68。2MB。IT之家获悉,官方介绍,智慧语音是适用于智能华为畅享20e高配版上市搭载海思麒麟710A鸿蒙HarmonyOS5000mAh电池感谢IT之家网友肖战割割的线索投递!IT之家1月6日消息,去年10月,华为推出了一款畅享20e,464GB版本999元4GB128GB版本1199元。但很可惜,这两款均为联发科曦力华为WATCHFIT智能手表推送1。0。6。6更新跳绳模式支持检测个数心率等感谢IT之家网友余逸欣的线索投递!IT之家11月26日消息,华为WATCHFIT智能手表近日推送1。0。6。6更新,更新大小为14。85MB。通过本次更新,锻炼应用的跳绳模式可检测华为手机畅连App2。1。2。321开始测试红包功能感谢IT之家网友努力的蜗牛的线索投递!IT之家1月29日消息,近期,华为手机推出了体验畅连红包,赢取华为P40活动,需要升级到畅连2。1。2。321,下载大小为81MB。华为表示,曝华为2022新款智能手表将支持微信,WATCH3Pro系列很快优先升级感谢IT之家网友肖战割割的线索投递!IT之家3月15日消息,近期,据微博博主厂长是关同学称,华为今年会推出可以支持微信消息回复的智能手表。另外,华为WATCH3系列手表将优先升级微IDC公布2021中国折叠屏手机市场份额排行榜华为第一占据49。3,其次是三星小米OPPO联想IT之家1月30日消息,根据国际数据公司(IDC)手机月度跟踪报告,2021年全年中国市场折叠屏产品规模约150万台,各厂商份额如下其中华为折叠屏手机份额为49。3,三星份额为28