相关问题
#鸿蒙通关秘籍#在鸿蒙系统中如何处理媒体文件URI?
939浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统中应用如何获取并读取文件的URI?
1302浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统中如何管理文件选择过程中得到的URI?
915浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何通过组件组合实现翻页动效?
1200浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现应用文件的访问和分享?
1103浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中获取文档类URI?
826浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过鸿蒙分布式文件系统实现跨设备文件访问?
964浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙应用中获取文件URI的持久化权限?
955浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过XComponent在鸿蒙中实现媒体数据写入?
1062浏览 • 1回复 待解决
#鸿蒙通关秘籍#分享的文件权限如何在鸿蒙操作系统中进行设置?
941浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何启动DataAbility
926浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何提高文件访问的安全性?
922浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS中,如何使用URI来启动应用?
862浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何实现数据的增删改查?
1000浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙应用中如何通过组件调用接口实现打印?
772浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中将文件路径转换为URI?
915浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中通过C/C++实现数据持久化?
1033浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现用户文件的选择与保存?
1395浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙系统中实现跨应用启动ServiceAbility?
1153浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样实现跨设备的文件访问和分享能力?
1021浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙系统中如何利用CustomDialog实现自定义键盘功能?
1010浏览 • 0回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何通过XComponent绘制复杂UI?
965浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中接收他人共享的文件?
937浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙系统中,如何通过自定义CommentData类实现懒加载评论列表功能?
618浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中通过转移方式传递ArrayBuffer对象?
978浏览 • 1回复 待解决
在鸿蒙系统中,通过URI分享文件是一个常见操作,首先需要获取文件在应用沙箱中的路径,并将其转换为URI。可以使用以下代码获取文件的URI:
typescript import { UIAbility } from '@kit.AbilityKit'; import { fileUri } from '@kit.CoreFileKit';
export default class EntryAbility extends UIAbility { onWindowStageCreate() { let pathInSandbox = this.context.filesDir + "/test1.txt"; let uri = fileUri.getUriFromPath(pathInSandbox); // 获取到的uri为"file://com.example.demo/data/storage/el2/base/files/test.txt" } }
接下来,使用
startAbility
接口分享文件,配置必要的权限和类型:typescript import { wantConstant } from '@kit.AbilityKit'; import { UIAbility } from '@kit.AbilityKit'; import { Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility { onWindowStageCreate() { let filePath = this.context.filesDir + '/test1.txt'; let uri = fileUri.getUriFromPath(filePath); let want: Want = { flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, action: 'ohos.want.action.sendData', uri: uri, type: 'text/plain' };
} }