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

华为鸿蒙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

华为P50Pro推送鸿蒙HarmonyOS2。0。0。215更新增强分布式图库功能感谢IT之家网友肖战割割的线索投递!IT之家10月12日消息,据IT之家网友肖战割割投稿,华为P50Pro手机推送鸿蒙HarmonyOS2。0。0。215更新,本次更新增强了分布式华为Mate9推送鸿蒙HarmonyOS2。0。0。55更新感谢IT之家网友刺猬SONIC的线索投递!IT之家10月5日消息感谢IT之家网友刺猬SONIC的线索投递,华为Mate9手机推送鸿蒙HarmonyOS2。0。0。55更新,版本号为华为P10手机开始推送鸿蒙HarmonyOS2内测版感谢IT之家网友xiuhaicao的线索投递!IT之家10月4日消息今年9月中旬,新一批HarmonyOS2版本内测开启招募,新增10款机型,包括华为P10P10PlusMate9国庆献礼,开源鸿蒙OpenHarmony3。0正式发布带来大量全新特性,完善更多基础能力IT之家10月2日消息开放原子开源基金会OpenHarmony项目群工作委员会本周四举行了报告会,会上将向大家汇报OpenHarmony3。0的工作进展。据介绍,OpenHarmo华为鸿蒙HarmonyOS2升级用户超7000万,距离破亿再进一步IT之家8月29日消息华为HarmonyOS2升级用户现已突破7000万,距离一亿大关不再遥远。大部分网友认为,年内破亿没问题。今年7月29日的华为发布会上,余承东表示华为Harm李小龙分享华为手机独享功能双指按压屏幕可隐藏微信聊天记录头像和昵称IT之家8月18日消息今天华为手机产品线副总裁李小龙在微博分享了一个华为手机的特有功能,有助于保护微信聊天记录隐私。具体来说,在微信聊天记录双指按压屏幕,选择聊天隐私保护,就可以自华为Mate40RS保时捷设计推送鸿蒙HarmonyOS2。0。0。168更新感谢IT之家网友重生的一哥的线索投递!IT之家9月6日消息感谢IT之家网友的热心线索投递,华为Mate40RS保时捷设计现已推送鸿蒙HarmonyOS2。0。0。168系统更新,版华为智慧屏V系列推送鸿蒙HarmonyOS2。0。0。599(SP1)更新新增超级终端特性截屏录屏等感谢IT之家网友软媒用户1855085的线索投递!IT之家9月5日消息感谢IT之家网友的热心线索投递,华为智慧屏V系列开始推送鸿蒙HarmonyOS2。0。0。599(SP1)版本每秒8人升级鸿蒙系统,华为HarmonyOS用户已超5000万IT之家8月9日消息今年7月29日的华为发布会上,余承东表示华为HarmonyOS2。0用户已超4000万,是一个里程碑式的记录,平均每秒就有8个用户升级。据央视报道,最新数据显示华为Mate10P20nova4等机型推送鸿蒙HarmonyOS2内测版2。0。0。138更新感谢IT之家网友Autumn的线索投递!IT之家8月6日消息今日晚间,华为向P20P20ProMate10Mate10ProMate10保时捷设计MateRS保时捷设计nova4等华为卷屏智能机设计专利曝光拥有三种展开方式IT之家8月6日消息华为虽然正在经历一些艰难的时期,但其仍然知道如何创新。新的专利暗示,华为可能在积极开发一款卷屏智能手机。据外媒LetsGoDigital报道,2021年1月31
消息称华为还将发布一款麒麟90004G新手机,明年大多数是骁龙机型,麒麟芯片库存见底IT之家10月3日消息近期,华为P50系列骁龙8884G版已经上市开售,而此前发布的华为nova9系列也是搭载了骁龙778G4G芯片。而华为P50Pro所采用的麒麟9000芯片可能华为Mate40鸿蒙HarmonyOS2重要补丁更新优化游戏音效和应用使用感谢IT之家网友想笑的线索投递!IT之家6月15日消息此前华为公测了HarmonyOS2系统,据网友反馈,华为Mate40手机迎来了鸿蒙系统重要补丁包,本次更新优化了部分游戏场景的消息称华为鸿蒙HarmonyOS3。0将很快到来感谢IT之家网友不再投gao的线索投递!IT之家9月30日消息一位华为工作人员狐宫牧铃(人送外号狐狸姐)今日透露,华为鸿蒙HarmonyOS3。0将很快到来。IT之家了解到,华为将华为智能手机摄像头新专利曝光具有可变光圈IT之家8月25日消息近年来,智能手机摄像头的拍照质量有了明显的改善,现在即使是最便宜的入门机型现在也配备了多个摄像头,最近,智能手机摄像头有了新的趋势,即采用具有可变光圈的镜头。消息称华为Mate50Pro系列7月发布搭载全新鸿蒙HarmonyOS3。0系统,内置4G芯片,手机壳算是残血版5G方案这几个月来数码圈可以说热闹非凡,各大品牌的顶级旗舰新机层出不穷,让人眼花缭乱。但由于众所周知的原因,华为这边却非常安静,理应在去年8月左右便推出的华为Mate系列,至今都没有得到官华为Mate10P20系列荣耀10V20推送鸿蒙HarmonyOS2。0。0。230更新超级终端新增与部分华为手表手环及MateView连接感谢IT之家网友xiuhaicao肖战割割hehehehehe方世玉的线索投递!IT之家4月26日消息,据网友反馈,华为Mate10P20荣耀10V20系列开始推送鸿蒙Harmon华为P50E手机推送鸿蒙HarmonyOS2。0。1。130更新相机新增流光快门模式感谢IT之家网友肖战割割的线索投递!IT之家4月19日消息,近期,华为P50E手机开始推送鸿蒙HarmonyOS2。0。1。130更新。更新包1日志显示,本次更新相机新增了流光快门开鸿智谷发布教育在鸿OS发行版,基于开源鸿蒙OpenHarmony3。1系统感谢IT之家网友颓然芳草的线索投递!IT之家4月29日消息,4月28日,拓维信息联合旗下湖南开鸿智谷数字产业发展有限公司(以下简称开鸿智谷),举办了开鸿智谷教育在鸿OS发行版发布会开源鸿蒙OpenHarmony3。1公开UX设计风格,从内核到框架逐步支持1G标准带屏设备开发感谢IT之家网友雷碧的线索投递!IT之家4月28日消息,近期,OpenAtomOpenHarmony首次对外解读了OpenHarmony3。1Release技术特性。数据显示,截至华为MateXs2折叠屏旗舰预热采用创新超轻材质双旋鹰翼铰链复合强化结构屏幕感谢IT之家网友后排卖瓜的线索投递!IT之家4月26日消息,华为MateXs2折叠旗舰及全场景新品发布会将于4月28日举行,今天官方再次对新机预热。根据官方放出的海报,此次华为Ma爆料华为Mate50Pro手机7月发布,首发搭载最新鸿蒙HarmonyOS3。0正式版感谢IT之家网友迷一样的菠萝的线索投递!IT之家4月9日消息,去年,华为发布了鸿蒙HarmonyOS3开发者预览版,将围绕系统架构超级终端一次开发多端部署三个核心价值持续创新,带来