HarmonyOS鸿蒙Next中app如何被关联到“其他应用打开”

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS鸿蒙Next中app如何被关联到“其他应用打开” 我想让App能被某些后缀(如.flac, .mp3 等)的文件,被长按后显示的菜单“其他应用打开”关联到?不知道该怎么做?请大神指教

3 回复

module.json5配置参考

{
  "skills": [
    {
      "entities": [
        "entity.system.home"
      ],
      "actions": [
        "action.system.home"
      ]
    },
    {
      "actions": [
        "ohos.want.action.sendData",
      ],
      "uris": [
        {
          "scheme": "file",
          "utd": "general.mp3",
          "type": "audio/mp3",
          "linkFeature": "FileOpen"
        },
        {
          "scheme": "file",
          "utd": "general.flac",
          "type": "audio/flac",
          "linkFeature": "FileOpen"
        }
      ]
    }
  ]
}

EntryAbility.ets参考

onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
  let uri = want.uri;
  if (uri == null || uri == undefined) {
    console.info('uri is invalid');
    return;
  }
}

参考文档: skills标签标准化数据类型UTD预置列表

更多关于HarmonyOS鸿蒙Next中app如何被关联到“其他应用打开”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,应用可以通过配置config.json文件中的abilitiesskills来实现被关联到“其他应用打开”。具体步骤如下:

  1. 配置abilities:在config.json文件中,定义应用的abilities,指定typepage,并设置visibletrue,确保应用可以被其他应用调用。

  2. 配置skills:在abilities中,添加skills配置,指定actionsentitiesactions通常为ohos.want.action.viewDataentities则根据应用类型设置,如entity.system.browser表示浏览器应用。

  3. 定义uri:在skills中,通过uris字段定义应用可以处理的URI格式,如schemehostport等,确保应用能够响应特定的URI请求。

  4. 处理Want:在应用的代码中,通过onCreateonNewWant方法处理接收到的Want对象,解析其中的URI或其他数据,执行相应的操作。

示例config.json配置如下:

{
  "app": {
    "bundleName": "com.example.myapp"
  },
  "abilities": [
    {
      "name": ".MainAbility",
      "type": "page",
      "visible": true,
      "skills": [
        {
          "actions": [
            "ohos.want.action.viewData"
          ],
          "entities": [
            "entity.system.browser"
          ],
          "uris": [
            {
              "scheme": "https",
              "host": "example.com"
            }
          ]
        }
      ]
    }
  ]
}

通过以上配置,应用可以被其他应用通过“其他应用打开”选项调用,并处理相应的URI请求。

在HarmonyOS鸿蒙Next中,将应用关联到“其他应用打开”功能,需在应用的config.json文件中定义intent-filters,指定应用支持的MIME类型、文件扩展名等。系统会根据这些信息在“其他应用打开”列表中显示你的应用。确保应用正确处理相关Intent。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!