华为HarmonyOS帮助应用接入意图框架 -- 2 接入方案

方案概述

当用户在应用/元服务内使用功能时,开发者需要按照标准意图Schema向系统共享行为数据,并支持意图调用(空调用与传参调用),以实现用户点击模板卡后跳转回对应页面。

意图注册

以歌曲续听推荐特性为例,首先要注册播放歌曲意图(PlayMusic),其他意图见各垂域意图Schema。开发者需要编辑对应的意图配置 PROJECT_HOME/entry/src/main/resources/base/profile/insight_intent.json文件,实现意图注册。

 
  1. {
  2. // 应用支持的意图列表
  3. // 必须声明应用支持插件包含的必选意图,应用上架时会进行校验
  4. "insightIntents": [
  5. {
  6. // 意图名称
  7. // 名称应当遵循意图框架规范,当前仅支持预置垂域意图,不允许自定义
  8. // 应用内意图名称唯一,不允许出现相同的名称定义
  9. "intentName": "PlayMusic",
  10. // 意图所属的垂域
  11. "domain": "MusicDomain",
  12. // 意图版本号
  13. // 插件引用意图时会校验该版本号,只有和插件定义的版本号一致才能正常调用
  14. "intentVersion": "1.0.1",
  15. // 意图调用逻辑入口
  16. "srcEntry": "./ets/entryability/InsightIntentExecutorImpl.ets",
  17. "uiAbility": {
  18. // 意图所在module、ability,以及代码相对路径入口
  19. "ability": "EntryAbility",
  20. // UIAbility支持前后台两种执行模式
  21. "executeMode": [
  22. "background",
  23. "foreground"
  24. ]
  25. }
  26. }
  27. ]
  28. }

端侧意图共享

构建意图对象,并且调用shareIntent(),实现意图共享。可同时构建多个PlayMusic或PlayMusicList的意图对象。

 
  1. import { insightIntent } from '@kit.IntentsKit';
  2. import { BusinessError } from '@kit.BasicServicesKit';
  3. let playMusicIntent1: insightIntent.InsightIntent;
  4. let playMusicIntent2: insightIntent.InsightIntent;
  5. // 共享数据接口 意图数组可以是更多的实体
  6. // 根据实际代码上下文自行传入合适的context
  7. insightIntent.shar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青瓷代码世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值