【FAQ】HarmonyOS SDK 闭源开放能力 —Share Kit

1.问题描述:

使用系统分享组件分享本地文件,点击分享菜单下方的"另存为" 将要分享的文件分享至系统文件管理中,在文件管理中查看分享进来的文件为0B。尝试了3种uri的写法都不行,代码如下:

复制代码
const uri = getContext().getApplicationContext().filesDir + '/xxx.json'
const uri1 = 'file://' + getContext().getApplicationContext().filesDir + '/xxx.json'
const uri2 = 'file://' + getContext().applicationInfo.name + '/' + getContext().getApplicationContext().filesDir + '/xxx.json'

解决方案:

正确的uri拼接应该是:

复制代码
const uri = 'file://' + getContext().applicationInfo.name + getContext().getApplicationContext().filesDir + '/xxx.json';

或通过getUriFromPath将沙箱路径转成uri:

复制代码
let pathInSandbox = 'getContext().getApplicationContext().filesDir + '/xxx.json';
let uri = fileUri.getUriFromPath(pathInSandbox);

2.问题描述:

文档https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/share-system-share-V5#section20696483813 SharedRecord uri是否支持http链接?

解决方案:

haredRecord uri支持http链接。

3.问题描述:

调用系统分享图片或file,点击系统分享面板的保存按钮,提示保存失败。

demo:

复制代码
const data = new systemShare.SharedData({

      utd: uniformTypeDescriptor.UniformDataType.IMAGE,

      uri: fileUri.getUriFromPath(path)

    })

    const controller = new systemShare.ShareController(data)

    const context = GlobalContext.get().getApp() as common.UIAbilityContext

    controller.show(context, {

      selectionMode: systemShare.SelectionMode.BATCH,

      previewMode: systemShare.SharePreviewMode.DETAIL

    })

解决方案:

目前已知的失败场景,可能是因为文件名含有媒体库命名不支持的符号导致。在图库重命名,加个. / 这些符号,就能看到相关提示,所有不支持的字符都会列出来;

我们这边测试中文是正常,如果反馈中文有问题,麻烦提供一下日志,或者其他能帮助我们查问题的信息,联系方式https://developer.huawei.com/consumer/cn/support/feedback/#/?feedbackchannel=PPSD0001

4.问题描述:

如何实现应用分享到微信,以卡片形式显示,点击可以打开具体链接页面?

解决方案:

Share Kit提供了两个能力,分别是:宿主应用发起分享 和 目标应用处理分享内容:

其中宿主应用发起分享,可以拉起Share Kit的分享面板;目标应用处理分享内容,可以处理收到的分享信息。

具体的显示效果是由接入方根据sharedata数据格式解析显示最终卡片效果。

5.问题描述:

App需要使用文件分享相关功能,uris是必须配置的,若删除相关配置,则App无法接收消息,请问应该怎么处理。

解决方案:

1、uris和action可以同时存在。不过 actions和uris不能在同一个对象中,需要在不同的对象中才可以。

2、以首页的skills为例,下方的skills配置是可以正常收到消息的 且点击也没有问题:

复制代码
"skills": [

    {

"entities": [

"entity.system.home"

      ],

"actions": [

"action.system.home",

"action.ohos.push.listener",

      ]

    },

    {

"uris": [

        {

"scheme": "https",

"port":"8080",

"host": "com.xx.pushsvc.impl",

"path": "notify_detai"

      }

    ]

  }

]
相关推荐
lxysbly2 小时前
鸿蒙gba模拟器app下载
华为·harmonyos
左手厨刀右手茼蒿3 小时前
Flutter 三方库 firebase_admin 跨云边管线企业级鸿蒙管控底座适配风云:无障碍贯穿服务器授权防火墙打通底层生态授权域并构建海量设备推送集结-适配鸿蒙 HarmonyOS ohos
服务器·flutter·harmonyos
钛态3 小时前
Flutter for OpenHarmony:shelf_web_socket 快速构建 WebSocket 服务端,实现端到端实时通信(WebSocket 服务器) 深度解析与鸿蒙适配指南
服务器·前端·websocket·flutter·华为·性能优化·harmonyos
亚历克斯神3 小时前
Flutter 三方库 at_server_status 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、实时的 @protocol 去中心化身份服务器状态感知与鉴权监控引擎
flutter·华为·harmonyos
木易 士心3 小时前
TypeScript 与 ArkTS 全面对比:鸿蒙生态下的语言演进
typescript·harmonyos
XHW___0013 小时前
鸿蒙音频通话应用后台保活与音频连续播放方案
华为·音视频·harmonyos
zzialx4 小时前
HarmonyOS:照片添加多样式的水印信息
华为·harmonyos
左手厨刀右手茼蒿5 小时前
Flutter 三方库 k_m_logic 的鸿蒙化适配指南 - 构建声明式的业务逻辑状态机、助力鸿蒙端复杂交互流程的解耦与重构
flutter·harmonyos·鸿蒙·openharmony·k_m_logic
钛态5 小时前
Flutter 三方库 result_type 深入鸿蒙强类型返回栈跨界交互适配:肃清空指针回调与运行时崩溃、大幅增注接口安全壁垒且提升多隔离桥接数据抛出健壮性-适配鸿蒙 HarmonyOS ohos
flutter·交互·harmonyos