IT之家 7 月 19 日消息 华为 HarmonyOS 官方表示|华为鸿蒙 HarmonyOS API 6 关键差异点官方解读( 二 )
开发者需要打开文件相关应用时 , 在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(ContinuationDeviceInfodeviceInfo)和onDisconnected(StringdeviceId) 。 用于在FA主动流转时 , 在选择设备列表选择设备的回调中 , 新增设备名称参数 , 让应用区分流转的具体设备 。 其中ContinuationDeviceInfo中包含deviceId , deviceType , deviceName(新增)字段 , 开发者可以根据需要获取 。
JAVAAPI6废弃原有回调方法onDeviceConnectDone(StringdeviceId,StringdeviceType),onDeviceDisconnectDone(StringdeviceId);
2.卡片服务能力强化
(1)实现卡片服务克隆
由于没有卡片克隆功能 , 以往将卡片从旧设备迁移到新设备时 , 系统默认创建一个新的卡片 , 卡片原本携带的数据将不能克隆到新设备 。 本次更新 , 为卡片管理服务FMS适配了克隆接口 , 实现卡片的克隆 。
(2)获取卡片状态
小艺建议是HarmonyOS2上一款主动推荐当下所需服务和应用的智慧化助手 , 在卡片智能推荐中 , 当卡片的状态未完成之前 , 可能会给消费者推荐一张空白卡片 , 这样对于消费者来说毫无意义 。 本次版本更新 , Classohos.aafwk.ability.Ability中新增了onAcquireFormState(Intent)方法 , 提供获取卡片状态功能 , 通过调用onAcquireFormState , 询问卡片状态是否ready 。 只有卡片状态ready的情况下 , 才会显示在小艺建议推荐位 。
(3)设置下一次卡片刷新时间
以往的卡片刷新 , 以30min作为一个基础值 , 按照30*N(N=1、2、3、4..)来设置更新频率 。 这无法满足某些应用如基金、航班类的卡片刷新需求 , 因为应用希望能在某些时间段动态的设置下次卡片的刷新时间 。
本次版本更新中 , Classohos.aafwk.ability.Ability中新增了setFormNextRefreshTime(long,long)方法 , 设置下次卡片刷新时间 , 用于卡片动态定时刷新 。 设置的时间间隔最小是5min , 每天最多设置50次 。 卡片管理服务根据提供方设置的时间更新定时器 , 定时器到点后 , 触发卡片应用的更新回调 。
3.新增沙盒文件分享
(1)FileAbility
ohos.data.file类中新增了FileAbility能力 , 提供应用沙盒文件分享的能力 , 用于沙盒内文件的分享 。 获取沙盒文件的流程如下所示:
classFileAbility中封装了获取文件信息的方法 。
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开发步骤
Step1声明:
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}
Step2配置转换关系:
在hap包内resources/rawfile/目录下新建fileability.json的配置文件 , 用于配置File到Uri转换关系 , 同时指明哪些文件目录可以用来分享 。 配置转换关系后 , 路径会转换为对应name 。 fileability.json的配置文件如下所示:
- 跨境|跨境电商迈入数字化变革期
- 踩线|主播不“踩线” 直播才有未来
- 有人觉得中暑就是热出来的,吃一些退烧药就好了,这种做法 蚂蚁庄园今日答案6月28日
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 小米|小米12S系列官宣7月4日正式发布:小米与徕卡联合研发
- 个头大的车厘子比小樱桃营养价值更高,对吗 蚂蚁新村6月28日答案最新
- 位于广东省阳江市的海陵岛自然资源丰富,景色优美,该岛没有 神奇海洋6月28日答案
- 哪种水果横着切开像星星的形状 蚂蚁庄园今日答案6月29日
- 成年后,近视度数还会再加深吗 蚂蚁庄园今日答案6月29日
- 在昨日推文中,王者荣耀将以“____文化”为主题推出限定皮肤,为乡村振兴加油? 王者荣耀6月28日每日一题答案
