MetadataBinding(元数据绑定)指由第三方应用提供鸿蒙App Linking链接,系统将当前用户浏览的内容与鸿蒙App Linking链接进行关联并保存的功能。
详细的接口介绍请参考@ohos.multimodalAwareness.metadataBinding (元数据绑定)。
第三方应用可使用元数据绑定功能,将鸿蒙App Linking链接映射到调用接口的系统应用或服务。例如,用户在【电商应用】中浏览某个商品时,截图保存了该商品的图片,系统将记录图片与【电商应用】提供的鸿蒙App Linking链接的映射关系。当用户再次浏览该图片时,用户主动触发小艺识屏能力,系统会提醒用户是否需要返回【电商应用】查看商品详情,提醒样式由小艺配置。
| 接口名 | 描述 |
|---|---|
| submitMetadata(metadata: string): void; | 第三方应用将待编码的鸿蒙App Linking链接传递给多模态融合感知服务,该服务决定适当时机将内容传递给调用编码接口的系统应用。 |
| on(type: 'operationSubmitMetadata', bundleName: string, callback: Callback<number>): void; | 订阅系统事件以获取编码内容,应用注册回调,事件发生时回传编码内容。 |
| off(type: 'operationSubmitMetadata', bundleName: string, callback?: Callback<number>): void; | 取消订阅系统获取编码内容的事件。取消注册回调接口。 |
导入模块。
import { metadataBinding } from '@kit.MultimodalAwarenessKit';
import { BusinessError, Callback } from '@kit.BasicServicesKit'; 定义元数据绑定服务回调及包名,函数接收回传编码的内容。
let callback : Callback<number> = (event: number) => {};
let bundleName: string = 'com.example.app'; 订阅元数据绑定服务。
try {
metadataBinding.on('operationSubmitMetadata', bundleName, callback);
console.info('on succeeded');
// ...
} catch (err) {
let error = err as BusinessError;
console.error('Register event error and err code is ' + error.code);
// ...
} 提供鸿蒙App Linking链接。
let metadata: string = 'sample metadata';
try {
metadataBinding.submitMetadata(metadata);
// ...
} catch (err) {
let error = err as BusinessError;
console.error('Submit metadata error and err code is ' + error.code);
// ...
} 取消订阅元数据绑定服务。
try {
metadataBinding.off('operationSubmitMetadata', bundleName, callback);
console.info('off succeeded');
// ...
} catch (err) {
let error = err as BusinessError;
console.error('Unregister event error and err code is ' + error.code);
// ...
}