1# @ohos.multimodalAwareness.metadataBinding (记忆链接) 2<!--Kit: Multimodal Awareness Kit--> 3<!--Subsystem: Msdp--> 4<!--Owner: @codexu62--> 5<!--Designer: @yuxiaoyang--> 6<!--Tester: @zhaodengqi--> 7<!--Adviser: @hu-zhiqiong--> 8 9本模块提供记忆链接能力调用,包括编码内容传递、订阅事件和取消订阅事件。 10 11> **说明:** 12> 13> 本模块首批接口从API version 18开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14 15 16## 导入模块 17```ts 18import { metadataBinding } from '@kit.MultimodalAwarenessKit'; 19``` 20 21## metadataBinding.submitMetadata 22submitMetadata(metadata: string): void 23 24第三方应用将需要编码的内容传递给MSDP,MSDP决定适时将内容传递给调用编码接口的系统应用或服务。 25**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 26**系统能力**:SystemCapability.MultimodalAwareness.MetadataBinding 27 28**参数**: 29 30| 参数名 | 类型 | 必填 | 说明 | 31| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 32| metadata | string | 是 | 要嵌入图片中的信息。 | 33 34**错误码**: 35 36以下错误码的详细介绍请参见[记忆链接错误码](errorcode-metadataBinding.md)。 37 38| 错误码ID | 错误信息 | 39| -------- | ------------------------------------------------------------ | 40| 32100001 | Internal handling failed. Set Meta data to screenshot app fail. | 41 42**示例**: 43 44```ts 45import { metadataBinding } from '@kit.MultimodalAwarenessKit'; 46import { BusinessError } from '@kit.BasicServicesKit'; 47 48let metadata: string = ""; 49try { 50 metadataBinding.submitMetadata(metadata); 51} catch (error) { 52 console.error("submit metadata error" + error); 53} 54``` 55 56## metadataBinding.on('operationSubmitMetadata') 57on(type: 'operationSubmitMetadata', bundleName: string, callback: Callback<number>): void 58 59订阅系统事件以获取编码内容,应用注册回调,事件发生时回传编码内容。 60**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 61**系统能力**:SystemCapability.MultimodalAwareness.MetadataBinding 62**参数**: 63 64| 参数名 | 类型 | 必填 | 说明 | 65| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 66|type| string|是|事件类型,type为‘operationSubmitMetadata’,表示系统应用获取编码内容。| 67|bundleName|string|是|应用包名,标识注册应用的包名。| 68|callback|Callback<number>|是|回调函数,用于返回编码内容。| 69 70**错误码**: 71 72以下错误码的详细介绍请参见[记忆链接错误码](errorcode-metadataBinding.md)。 73 74| 错误码ID | 错误信息 | 75| -------- | ------------------------------------------------------------ | 76| 32100001 | Internal handling failed. Service exception. | 77| 32100004 | Subscribe Failed. Possible causes: 1. Abnormal system capability; 2. IPC communication abnormality; 3. Algorithm loading exception. | 78 79**示例:** 80```ts 81import { metadataBinding } from '@kit.MultimodalAwarenessKit'; 82import { BusinessError } from '@kit.BasicServicesKit'; 83 84let bundleName: string = ''; 85try { 86 metadataBinding.on('operationSubmitMetadata', bundleName, (event: number) =>{ 87 if (event == 1) { 88 console.info("The screenshot request is intercepted and the app link is obtained"); 89 } 90 }); 91} catch (error) { 92 console.info("register screenshot event error"); 93} 94``` 95 96 97## metadataBinding.off('operationSubmitMetadata') 98off(type: 'operationSubmitMetadata', bundleName: string, callback?: Callback<number>): void 99 100取消订阅系统获取编码内容的事件。取消注册回调接口。 101**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 102**系统能力**:SystemCapability.MultimodalAwareness.MetadataBinding 103**参数**: 104 105| 参数名 | 类型 | 必填 | 说明 | 106| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 107|type|string|是|事件类型,type为“operationSubmitMetadata”,表示系统应用获取编码内容。| 108|bundleName|string|是|应用包名,标识注册应用的包名。| 109|callback|Callback<number>|否|回调函数,返回编码内容。| 110 111**错误码**: 112 113以下错误码的详细介绍请参见[记忆链接错误码](errorcode-metadataBinding.md)。 114 115| 错误码ID | 错误信息 | 116| -------- | ------------------------------------------------------------ | 117| 32100001 | Internal handling failed. Service exception. | 118| 32100005 | Unsubscribe Failed. Possible causes: 1. Abnormal system capability; 2. IPC communication abnormality. | 119 120**示例**: 121 122```ts 123import { metadataBinding } from '@kit.MultimodalAwarenessKit'; 124import { BusinessError } from '@kit.BasicServicesKit'; 125 126let bundleName: string = ''; 127try { 128 metadataBinding.off('operationSubmitMetadata', bundleName, (event: number)=>{}); 129} catch (error) { 130 console.error("unsubscript screenshot event" + error); 131} 132```