HarmonyOS 文件分享如何指定应用

通过

let shareuri = fileUri.getUriFromPath(this.writePath)
let want: object =new Object({
  flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION,
  // 配置分享应用的隐式拉起规则
  action: 'ohos.want.action.sendData',
  uri: shareuri,
  type: 'text/plain'
});

(getContext() as common.UIAbilityContext).startAbility(want)
  .then(() => {
    console.info('Invoke getCurrentBundleStats succeeded.');
  })
  .catch((err: BusinessError) => {
    console.error(`Invoke startAbility failed, code is ${err.code}, message is ${err.message}`);
  });
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

这个进行文件分享,如何指定应用?

文件类型如何设置?

如何分享一个txt文本到一个文本编辑器里?

HarmonyOS
2024-12-27 15:07:54
916浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

问题1:文件分享,如何指定应用

文件分享是基于want的隐式分享,可参考文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/share-app-file-V5

want示例如下:

want: Want = {
  // 配置被分享文件的读写权限,例如对被分享应用进行读写授权
  flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.F
  LAG_AUTH_READ_URI_PERMISSION,
  // 配置分享应用的隐式拉起规则
  action: 'ohos.want.action.sendData',
  uri: uri,
  type: 'text/plain'
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

被分享应用需要在module.json5配置文件的actions标签的值配置为"ohos.want.action.sendData",表示接收应用分享文件,配置uris字段,表示接收URI的类型,即只接收其他应用分享该类型的URI,如下表示本应用只接收scheme为file,类型为txt的文件,示例如下。

{
  "module": {
  ...
  "abilities": [
  {
    ...
    "skills": [
    {
      ...
      "actions": [
      "ohos.want.action.sendData"
      ],
      "uris": [
      {
        "scheme": "file",
      "type": "text/plain"
      }
      ]
    }
    ]
  }
  ]
}
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

由于当前手机上还没有配置为ohos.want.action.sendData的应用,所以当前分享没有效果,开发者可以自己新建一个工程,按照上面的步骤和文档测试分享和数据接收。

问题2:文件类型如何设置?

参考want中的type对应的文件类型,即MIME type类型,参考https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-want-V5#属性

问题3:如何分享一个txt文本到一个文本编辑器里?

后续随着有文本编辑相关功能的应用上架,即可分享给对应的应用,当前 可以将 action改为 ‘ohos.want.action.viewData’,表示查看文件,再通过右上角的备忘录打开

分享
微博
QQ
微信
回复
2024-12-27 18:13:20


相关问题
分享沙箱文件,应用分享单个文件
1912浏览 • 1回复 待解决
应用文件分享功能介绍
2678浏览 • 0回复 待解决
HarmonyOS 应用文件分享-读写权限咨询
1306浏览 • 1回复 待解决
怎么指定应用打开文件
285浏览 • 0回复 待解决
ArkTS应用文件分享报错,code:16000050
3577浏览 • 1回复 待解决
HarmonyOS 文件分享问题
890浏览 • 1回复 待解决
HarmonyOS 系统分享文件
1054浏览 • 1回复 待解决
HarmonyOS如何使用系统分享图片、文件
1344浏览 • 1回复 待解决
如何打开指定文件夹,选择文件返回
9830浏览 • 1回复 待解决
HarmonyOS C++如何读取指定路径文件
722浏览 • 1回复 待解决