HarmonyOS 鸿蒙Next中怎么关联特定后缀的打开方式
HarmonyOS 鸿蒙Next中怎么关联特定后缀的打开方式 比如说我现在做的一个阅读器,可以支持.txt格式的电子书文件,我想要在文件管理器中选择更多应用打开时,能显示我应用的名称,如何将这后缀名的文件格式关联到我的应用打开呢?
4 回复
同问+1
在 HarmonyOS Next 中,通过配置 module.json5 文件中 abilities 的 skills 字段实现。添加 uri 对象,设置 scheme 为 “file”,利用 pathPattern 匹配后缀(如 “.*\.txt$”)。同时设置 mimeType 为 “application/octet-stream” 或具体类型。系统将根据此配置关联文件。
在HarmonyOS Next中关联特定文件后缀(如 .txt)的打开方式,需要在 module.json5 配置文件中声明 文件处理能力。
关键配置如下:
- 在
module.json5的 module 层级下配置skills数组:
{
"module": {
"abilities": [{
"skills": [{
"entities": ["entity.system.home"],
"actions": ["ohos.want.action.viewData"],
"uris": [{
"scheme": "file",
"host": "*",
"pathPattern": ".*\\.txt"
}]
}]
}]
}
}
pathPattern使用正则.*\\.txt表示匹配所有 .txt 后缀的文件。若需匹配存储目录中的文件,可结合path前缀,例如"path": "path/to/storage"。
配置完成后,用户在文件管理器中选择“其他应用打开”时,系统会自动列出你的应用。你的 Ability 的 onCreate 或 onNewWant 中可通过 want 获取文件 URI,进行读取操作。


