HarmonyOS鸿蒙Next中在微信里选择使用其他方式打开找不到自己开发的应用
HarmonyOS鸿蒙Next中在微信里选择使用其他方式打开找不到自己开发的应用 【问题描述】 在微信中接收到 .md(Markdown)文件后,想要使用自己开发的 HarmonyOS 应用打开该文件,但在微信的"其他应用打开"列表中找不到该应用。
【问题现象】
操作步骤: 在微信中收到 .md 文件 长按文件,选择"其他应用打开" 在弹出的应用列表中找不到自己开发的应用
预期结果: 应该在"其他应用打开"列表中看到我自己开发的应用 点击后能用 我自己开发的 应用打开该 Markdown 文件
实际结果: 应用列表中没有显示我自己开发的应用 无法使用自己的应用打开 .md 文件
【版本信息】HarmonyOS SDK: API 16
【尝试解决方案】AppLinking 但是AppLinking 的核心能力是基于 HTTPS 链接的跳转并非直接处理文件类型。它的URI匹配规则仅限于scheme、host和path,应该没办法直接绑定拓展名像是.md或者是其他的文件后缀的
更多关于HarmonyOS鸿蒙Next中在微信里选择使用其他方式打开找不到自己开发的应用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【问题分析】
楼主想要被识别的话可以从拉起方和被拉起方的角度来看,拉起方想要拉起一文件打开的应用会有下面的配置
【解决方案】
拉起方处理:这是拉起文件类的操作处理:开发者可以通过调用startAbility接口,由系统从已安装的应用中寻找符合要求的应用,打开特定文件。
例如,浏览器下应用下载PDF文件,可以调用此接口选择文件处理应用打开此PDF文件。开发者需要在请求中设置待打开文件的URI路径(uri)、文件格式(type)等字段,以便系统能够识别,直接拉起文件打开应用或弹出一个选择框,让用户选择合适的应用来打开文件,效果示意如下图所示。
被拉起方处理:
- 声明文件打开能力。
支持打开文件的应用需要在module.json5配置文件中声明文件打开能力。其中uris字段表示接收URI的类型,其中scheme固定为file。type字段表示支持打开的文件类型(参见UTD类型(推荐)或MIME type类型),如下举例中类型为txt文件。
- 应用处理待打开文件。
声明了文件打开的应用在被拉起后,获取传入的Want参数信息,从中获取待打开文件的URI,在打开文件并获取对应的file对象后,可对文件进行读写操作。
【参考文档】
整个流程可以参考这个文档进行配置,楼主可以先尝试配置普通文件类型再来配.md的文件类型 拉起文件处理类应用(startAbility)-拉起指定类型的应用-应用间跳转-Stage模型开发指导-Ability Kit(程序框架服务)-应用框架 - 华为HarmonyOS开发者
更多关于HarmonyOS鸿蒙Next中在微信里选择使用其他方式打开找不到自己开发的应用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
已解决 谢谢,
mark
你看看是不是这个问题呀:拉起第三方应用打开文件失败
在HarmonyOS鸿蒙Next中,微信无法通过“其他方式打开”找到应用,可能由于应用未正确配置意图过滤器或文件类型支持。请检查应用配置文件中的intent-filter,确保包含微信分享时使用的ACTION_SEND或对应MIME类型。同时确认应用签名和权限设置无误,并已在系统内完成安装注册。
这个问题通常是由于应用未正确配置文件类型关联导致的。在HarmonyOS Next中,应用需要通过supportedTypes字段在module.json5文件中声明支持的文件类型。
请检查以下配置:
- 在module.json5的abilities节点下,为对应ability添加
supportedTypes配置:
"supportedTypes": [
"text/markdown",
"text/x-markdown"
]
- 同时确保exported属性设置为true,允许其他应用调用:
"exported": true
- 对于文件扩展名关联,还需要在config.json中声明:
"extensionAbilities": [{
"name": "FileTypeAssociation",
"type": "fileTypeAssociation",
"uri": "filetype",
"metadata": [{
"name": "filetype",
"value": "{\"fileType\":[\"md\"],\"mimeType\":[\"text/markdown\"]}"
}]
}]
完成配置后重新编译安装应用,系统就会在文件打开列表中显示你的应用选项。注意微信可能会缓存应用列表,建议重启微信或清除缓存测试。

