【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”
}
]
}
]
【FAQ】HarmonyOS SDK 闭源开放能力 —Share Kit的更多相关文章
- Linux开源系统对比Windows闭源系统的优势解析
当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...
- Eureka 2.0 闭源--选择Consul???
在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...
- Eureka 2.0 闭源--选择Consul???[转]
原文链接: https://www.cnblogs.com/williamjie/p/9369800.html 在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大 ...
- Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...
- 第一部分:开发前的准备-第八章 Android SDK与源码下载
第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...
- Ubuntu 16.04安装GTX960闭源驱动
GTX960的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 有以下方式来安装: 1.命令行: sudo add-apt-repository -y ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projec ...
- deepin20 安装英伟达闭源驱动
第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...
- HMS Core在MWC2022展示最新开放能力,助力开发者构建精品应用
[2022年2月28日,巴塞罗那]世界移动通信大会MWC2022在巴塞罗那开幕.HMS Core设立了3个展台(Fira Gran Via,Hall 1),向全球开发者展示HMS Core 6的全新开 ...
随机推荐
- Prism:框架介绍与安装
Prism:框架介绍与安装 什么是Prism? Prism是一个用于在 WPF.Xamarin Form.Uno 平台和 WinUI 中构建松散耦合.可维护和可测试的 XAML 应用程序框架 Gith ...
- python 接口传递字符串,特殊字符url编码
from urllib.parse import quote aaa = "+xxxx" quote(aaa)
- Consul初探-从安装到运行 【转】
目录 前言 下载二进制包 入门必学必记文档 启动 Consul 前言 伟人说过:实践是检验真理的唯一标准!经过上一篇的学习,我基本掌握了 Consul 的基本原理,接下来就是动手实践了:Consul ...
- Coursera, Deep Learning 5, Sequence Models, week4, Transformer Network
self-attention multi-head attention
- EF Core – 大杂烩
前言 记入一些零零碎碎的知识. Shadow Properties 参考:Docs – Shadow and Indexer Properties Shadow Property 指的是那些在数据库有 ...
- Angular 学习笔记 (Typescript 版本更新)
记入每一期我会用到的功能 : v4.3 1. getter setter 的类型可以不一样咯, 这个困扰很久了. (interface, object, class 都可以这样用) class T ...
- 从0到1,Flask全网最全教学!全文1w字,蓝图、会话、日志、部署等使用Flask搭建中小型企业级项目
从0到1,Flask全网最全教学!全文1w字,蓝图.会话.日志.部署等使用Flask搭建中小型企业级项目 什么是flask? Flask是一个使用Python编写的轻量级Web应用框架,它简洁而灵活, ...
- 我的网站集成ElasticSearch初体验
最近,我给我的网站(https://www.xiandanplay.com/)尝试集成了一下es来实现我的一个搜索功能,因为这个是我第一次了解运用elastic,所以如果有不对的地方,大家可以指出来, ...
- 在Activity中测量控件宽高的三种方式
在进行Android开发时,有时需要测量控件的宽和高,常用的方式有以下三种: (1)重写onWindowFocusChanged(hasFocus: Boolean)方法,在这个方法内获取控件的宽高 ...
- Python计算傅里叶变换
技术背景 傅里叶变换在几乎所有计算相关领域都有可能被使用到,例如通信领域的滤波.材料领域的晶格倒易空间计算还有分子动力学中的倒易力场能量项等等.最简单的例子来说,计算周期性盒子的电势能\(k\sum_ ...