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}`);
  });

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

文件类型如何设置?

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

HarmonyOS
2天前
浏览
收藏 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'
}

被分享应用需要在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"
      }
      ]
    }
    ]
  }
  ]
}
}

由于当前手机上还没有配置为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
微信
回复
2天前
相关问题
分享沙箱文件,应用分享单个文件
1103浏览 • 1回复 待解决
应用文件分享功能介绍
1272浏览 • 0回复 待解决
HarmonyOS 应用文件分享-读写权限咨询
433浏览 • 1回复 待解决
ArkTS应用文件分享报错,code:16000050
2381浏览 • 1回复 待解决
HarmonyOS 文件分享问题
36浏览 • 1回复 待解决
HarmonyOS 系统分享文件
91浏览 • 1回复 待解决
HarmonyOS如何使用系统分享图片、文件
522浏览 • 1回复 待解决
HarmonyOS C++如何读取指定路径文件
47浏览 • 1回复 待解决
如何打开指定文件夹,选择文件返回
8757浏览 • 1回复 待解决
如何指定首次应用的启动页面
710浏览 • 1回复 待解决
HarmonyOS如何判断指定应用是否存在
446浏览 • 1回复 待解决