#鸿蒙学习大百科#如何调用其他应用来打开特定文件?

如何调用其他应用来打开特定文件?

HarmonyOS
2024-10-26 11:19:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
天涯独一隅

以打开word为例:

import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import wantConstant from '@ohos.app.ability.wantConstant';
@Entry
@Component
struct Index {
   context:common.UIAbilityContext = getContext(this) as common.UIAbilityContext
  build() {
    Column() {
      Button("打开word").onClick(()=>{
        // 构造请求数据Want,以打开word文件为例
        let wantInfo: Want = {
          uri: "file://.../test.docx", // 表示待打开文件的URI路径,一般配合type使用
          type: "application/msword", // 表示待打开文件的类型
          flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION, // 表示对URI执行写入操作的授权
        }
        this.context.startAbility(wantInfo)
      })
    }
    .height("100%")
    .width('100%')
    .justifyContent(FlexAlign.Center)
  }
}

能打开word的应用需要注册文件打开能力。

"skills": [
{
  "actions": [
  "ohos.want.action.viewData" // 声明数据处理能力 
  ],
  "uris": [
  {
    // 允许打开uri中以file://协议开头标识本地的word文件 
    "scheme": "file",
  "type": "application/msword", // 表示支持打开的文件类型 
  "linkFeature": "fileopen" // 表示此URI的功能为文件打开 
  }
  // ... 
  ]
  // ... 
} 
分享
微博
QQ
微信
回复
2024-10-26 17:26:13
相关问题
#鸿蒙学习大百科#什么是用户文件
156浏览 • 0回复 待解决
#鸿蒙学习大百科#什么是应用沙箱?
167浏览 • 1回复 待解决