【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.UIAbilityContextcontroller.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”}]}]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音视频入门基础:MPEG2-TS专题(7)——FFmpeg源码中,读取出一个transport packet数据的实现

一、引言 从《音视频入门基础:MPEG2-TS专题(3)——TS Header简介》可以知道,TS格式有三种:分别为transport packet长度固定为188、192和204字节。而FFmpeg源码中是通过read_packet函数从一段MPEG2-TS传输流/TS文件中读…

HarmonyOs DevEco Studio小技巧31--卡片的生命周期与卡片的开发

Form Kit简介 Form Kit(卡片开发服务)提供一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片(以下简称“卡片”),以达到服务直达、减少跳转层级的体验效果。卡片常用于嵌入到其他应用&#xff0…

《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》

在当今数字化时代,图形界面程序的性能至关重要。使用 C20 开发图形界面程序时,优化界面响应速度和图形渲染效率是我们必须关注的焦点,这直接影响用户体验和程序的实用性。 一、理解界面响应速度和图形渲染效率的重要性 对于图形界面程序&am…

Spring Boot应用开发实战:构建高效、可维护的Web应用

Spring Boot应用开发实战:构建高效、可维护的Web应用 在当今快速迭代的软件开发环境中,Spring Boot凭借其“约定优于配置”的理念,迅速成为Java开发者构建微服务及Web应用的首选框架。它不仅简化了Spring应用的初始搭建以及开发过程,还通过自动配置、嵌入式服务器等特性,…

软件测试之测试用例扩展

软件测试之测试用例扩展 1. 测试用例覆盖2. UI布局覆盖3. 兼容性覆盖4. 测试用例条数 1. 测试用例覆盖 规则覆盖UI布局兼容性 2. UI布局覆盖 2条用例即可 布局, 颜色与原型图一致图片和文字描述无误 3. 兼容性覆盖 测试5大浏览器 火狐谷歌ieEge苹果 4. 测试用例条数 使…

【GeekBand】C++设计模式笔记11_Builder_构建器

1. “对象创建” 模式 通过 “对象创建” 模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。典型模式 Factory MethodAbstract …

Ubuntu问题 - 显示ubuntu服务器上可用磁盘空间 一条命令df -h

目的 想要放我的 数据集 到新的ubuntu服务器中, 不知道存储空间够不够 开始 使用以下命令直接查看 df -h

.NET 9与C# 13革新:新数据类型与语法糖深度解析

记录(Record)类型 使用方式: public record Person(string FirstName, string LastName); 适用场景:当需要创建不可变的数据结构,且希望自动生成 GetHashCode 和 Equals 方法时。不适用场景:当数据结构需…

Layui Table 行号

在Layui的table组件中&#xff0c;可以通过设置number参数来显示行号。以下是一个简单的示例代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>Layui Table 行号示例</title><link rel"sty…

学习笔记030——若依框架中定时任务的使用

定时任务是软件开发中经常使用一个功能。 Java定时任务广泛应用于各种需要定时执行或周期性执行任务的场景&#xff0c;如&#xff1a; 数据备份&#xff1a;定期备份数据库中的数据&#xff0c;确保数据的安全性和可靠性。数据同步&#xff1a;如果有多个数据源需要同步数据…

出海第一步:搞定业务系统的多区域部署

出海的企业越来越多&#xff0c;他们不约而同开始在全球范围内部署应用程序。这样做的原因有很多&#xff0c;例如降低延迟&#xff0c;改善用户体验&#xff1b;满足一些国家或地区的数据隐私法规与合规要求&#xff1b;通过在全球范围内部署应用程序来提高容灾能力和可用性&a…

2024强化学习的结构化剪枝模型RL-Pruner原理及实践

[2024] RL-Pruner: Structured Pruning Using Reinforcement Learning for CNN Compression and Acceleration 目录 [2024] RL-Pruner: Structured Pruning Using Reinforcement Learning for CNN Compression and Acceleration一、论文说明二、原理三、实验与分析1、环境配置在…

【SpringCloud详细教程】-02-微服务环境搭建

精品专题&#xff1a; 01.《C语言从不挂科到高绩点》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. 《SpringBoot详细教程》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12789841.html?spm1001.20…

BOM的详细讲解

BOM概述 BOM简介 BOM&#xff08;browser Object&#xff09;即浏览器对象模型&#xff0c;它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是window。 BOM由一系列的对象构成&#xff0c;并且每个对象都提供了很多方法与属性 BOM缺乏标准&#xff…

使用脚本判断网络连接状态,并且添加对应路由

这个脚本通过不断检测有线网络和4G网络的连通性来动态调整默认路由。如果两个网络都可用&#xff0c;则优先使用4G网络。如果只有一个网络可用&#xff0c;则使用该网络。如果两个网络都不可用&#xff0c;则每秒钟检测一次&#xff0c;连续30次检测失败后重启设备。 #!/bin/b…

Jenkins下载安装、构建部署到linux远程启动运行

Jenkins详细教程 Winodws下载安装Jenkins一、Jenkins配置Plugins插件管理1、汉化插件2、Maven插件3、重启Jenkins&#xff1a;Restart Safely插件4、文件传输&#xff1a;Publish Over SSH5、gitee插件6、清理插件&#xff1a;workspace cleanup system系统配置1、Gitee配置2、…

Pandas-1:初识Pandas

第1章&#xff1a;初识Pandas 本章将带领读者初步了解Pandas库&#xff0c;介绍其基本概念、功能特点和安装方法&#xff0c;同时学习Pandas的核心数据结构&#xff1a;Series和DataFrame。通过本章的学习&#xff0c;您将为后续章节的深入学习打下坚实的基础。 1.1 什么是Pan…

android9-sdk-28源码替换为-Lineageos-9源码-android-studio-4.2调试LineageOS-16.0的view绘制流程

整体想法: 替换sdk-28源码中每一个x.java文件为指向软连接LineageOS-16.0对应的x.java 调试前奏(准备) android-studio-4.2并不像老版本android-studio那样容易替换api源文件路径 android-studio-4.2: 在Project Structure不能设置api(如28)的源码路径在x.class的反编译窗口…

数据分析——Python绘制实时的动态折线图

最近在做视觉应用开发&#xff0c;有个需求需要实时获取当前识别到的位姿点位是否有突变&#xff0c;从而确认是否是视觉算法的问题&#xff0c;发现Python的Matplotlib进行绘制比较方便。 目录 1.数据绘制2.绘制实时的动态折线图3.保存实时数据到CSV文件中 import matplotlib.…

Unity 使用 ExcelDataReader 读取Excel表

文章目录 1.下载NuGet包2.通过NuGet包获取dll3.将dll复制unity Plugins文件夹下4.代码获取Excel表内容 1.下载NuGet包 通过NuGet下载&#xff1a; ExcelDataReaderExcelDataReader.DataSet离线下载方法 2.通过NuGet包获取dll 根据编译时程序集找到dll位置&#xff0c;找到与…