必须通过Intents Kit声明JumpFunctionPage意图并实现端侧调用逻辑,domain设为ToolsDomain,pageId枚举值须为字符串(如"2"),keywords最多5个,uiAbility.executeMode必须含"foreground"且ability需exported:true。

要在HarmonyOS应用中让小艺搜索能直接唤起特定功能页面,比如“扫一扫”“会员中心”或“查找路线”,必须通过Intents Kit声明意图并实现端侧调用逻辑,否则用户搜到的只是应用图标而非具体功能。
配置意图声明文件(intent.json)
在模块根目录的resources/base/profile/路径下,新建或编辑intent.json文件。
填入符合规范的JumpFunctionPage意图声明,domain必须设为ToolsDomain,intentVersion建议从1.0.1起始,且与后续代码中版本号严格一致。
inputParams中pageId的enum数组里,每个value值必须是字符串类型(如"1"),【不可写成数字1】,否则小艺搜索无法匹配该枚举项。
displayName和keywords字段将直接影响搜索结果曝光——前者是卡片上显示的功能名,后者是用户可能说出的口语化词,例如“扫码”“扫一下”“扫二维码”都可填入keywords,但总数不能超过5个。
实现意图执行器(.ets文件)
创建一个新ETS文件,例如InsightIntentExecutorImpl.ets,路径需与intent.json中srcEntry字段完全一致。
该文件需实现onExecute方法,接收intent参数并解析pageId值;根据pageId跳转到对应Ability页面,例如pageId为"2"时使用router.pushUrl()导航至ScanAbility。
onExecute方法返回Promise
注册UIAbility并配置前台执行模式
打开module.json5,在abilities数组中找到目标UIAbility(如EntryAbility),确认其name字段与intent.json中uiAbility.ability值完全相同。
在该ability节点下添加uiAbility字段,其中executeMode必须包含"foreground",因为JumpFunctionPage属于前台意图调用,不支持后台静默执行。
若该Ability未声明exported: true,则小艺搜索即使匹配到意图也无法拉起页面,必须显式设置exported为true。
本地验证与发布流程
方法一:使用DevEco Studio真机调试 → 运行应用 → 在小艺搜索框输入keywords中任一词(如“扫码”)→ 点击结果卡片 → 观察是否准确跳转至目标页面。
方法二:通过命令行工具hdc shell intent -a com.example.app/.EntryAbility -e pageId "2"模拟触发,验证日志中是否输出预期跳转行为。
上传AppGallery前,需在华为开发者联盟后台的“小艺搜索”服务页完成意图备案,填写intentName、pageId枚举值及对应功能描述,备案通过后搜索才对全量用户生效。

















