HarmonyOS NEXT 应用元服务开发 Intents Kit(意图框架服务)本地搜索接入方案
踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-itzhijia&ha_sourceId=89000249
一、方案概述
当用户使用应用 / 元服务时,开发者可以按照标准意图 Schema 向系统共享数据,并支持意图调用(空调用与传参调用),以实现用户点击卡片后,可后台执行功能(例如播放指定歌曲)或跳转至指定内容页面(例如指定的歌曲播放页面)。
二、意图注册
以歌曲本地搜索特性为例,首先要注册播放歌曲意图(PlayMusic)。开发者需要编辑对应的意图配置 PROJECT_HOME / entry / src / main / resources / base / profile / insight_intent.json 文件,实现意图注册。
三、端侧意图共享
构建意图对象,并且调用 shareIntent (),实现意图共享。可同时构建多个 PlayMusic 或 PlayMusicList 的意图对象。
PlayMusic 的意图共享字段定义见各垂域意图 Schema 定义,代码示例如下:
完整的意图共享示例如下所示,该示例构建了一个 PlayMusic 意图,并进行了 shareIntent 调用。
四、端侧意图调用
开发者需要自己实现 InsightIntentExecutor,并在对应回调实现打开落地页(点击推荐卡片跳转的界面)或后台执行的能力,PlayMusic 的意图调用字段定义见各垂域意图 Schema。
步骤如下:
继承 InsightIntentExecutor。
重写对应方法,例如目标拉起前台页面,则可重写 onExecuteInUIAbilityForegroundMode 方法。
通过意图名称,识别播放歌曲意图(PlayMusic),在对应的方法中传递意图参数(param),并拉起对应落地页(如播放歌曲落地页)或后台执行(播放歌曲)。
本文主要参考鸿蒙官方网站材料。(文章转载自 51CTO,作者鸿蒙时代)