• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 记忆链接开发指导
2<!--Kit: Multimodal Awareness Kit-->
3<!--Subsystem: MultimodalAwareness-->
4<!--Owner: @dilligencer-->
5<!--Designer: @zou_ye-->
6<!--Tester: @judan-->
7<!--Adviser: @hu-zhiqiong-->
8
9## 概述
10
11MetadataBinding(记忆链接)指由第三方应用提供[鸿蒙App Linking链接](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/applinking-introduction),系统将当前用户浏览的内容与鸿蒙App Linking链接进行关联并保存的功能。
12
13详细的接口介绍请参考[MetadataBinding接口](../../reference/apis-multimodalawareness-kit/js-apis-awareness-metadataBinding.md)。
14
15## 场景介绍
16
17第三方应用可使用记忆链接功能,将鸿蒙App Linking链接映射到调用接口的系统应用或服务。例如,用户在【电商应用】中浏览某个商品时,截图保存了该商品的图片,系统将记录图片与【电商应用】提供的鸿蒙App Linking链接的映射关系。当用户再次浏览该图片时,系统会提醒用户是否需要返回【电商应用】查看商品详情。
18
19## 接口说明
20
21| 接口名                                                       | 描述                                   |
22| ------------------------------------------------------------ | -------------------------------------- |
23| [submitMetadata](../../reference/apis-multimodalawareness-kit/js-apis-awareness-metadataBinding.md#metadatabindingsubmitmetadata)(metadata: string): void; | 第三方应用将待编码的鸿蒙App Linking链接传递给多模态融合感知服务,该服务决定适当时机将内容传递给调用编码接口的系统应用。 |
24| [on](../../reference/apis-multimodalawareness-kit/js-apis-awareness-metadataBinding.md#metadatabindingonoperationsubmitmetadata)(type: 'operationSubmitMetadata', bundleName: string, callback: Callback&lt;number&gt;): void; | 订阅系统事件以获取编码内容,应用注册回调,事件发生时回传编码内容。|
25| [off](../../reference/apis-multimodalawareness-kit/js-apis-awareness-metadataBinding.md#metadatabindingoffoperationsubmitmetadata)(type: 'operationSubmitMetadata', bundleName: string, callback?: Callback&lt;number&gt;): void; | 取消订阅系统获取编码内容的事件。取消注册回调接口。|
26
27## 约束与限制
28
29  - 鸿蒙App Linking链接的最大字节数为99。
30
31## 开发步骤
32
331. 导入模块。
34
35   ```ts
36   import { metadataBinding } from '@kit.MultimodalAwarenessKit';
37   import { BusinessError } from '@kit.BasicServicesKit';
38   import { Callback } from '@ohos.base';
39   ```
40
412. 定义记忆服务回调,函数接收回传编码的内容。
42
43   ```
44   let callback : Callback<number> = (event: number) => {};
45   ```
46
473. 订阅记忆服务。
48
49   ```
50   let bundleName: string = '';
51   try {
52      metadataBinding.on('operationSubmitMetadata', bundleName, this.callback);
53      console.info("on succeeded");
54   } catch (err) {
55      let error = err as BusinessError;
56      console.error("Register event error and err code is " + error.code);
57   }
58   ```
59
604. 提供鸿蒙App Linking链接。
61
62   ```
63    let metadata: string = "";
64    try {
65        metadataBinding.submitMetadata(metadata);
66    } catch (err) {
67        let error = err as BusinessError;
68        console.error("Submit metadata error and err code is " + error.code);
69    }
70   ```
71
725. 取消订阅记忆服务。
73
74   ```
75   try {
76      metadataBinding.off('operationSubmitMetadata', bundleName, this.callback);
77      console.info("off succeeded");
78   } catch (err) {
79      let error = err as BusinessError;
80      console.error("Unregister event error and err code is " + error.code);
81   }
82   ```