• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# UIServiceHostProxy (系统接口)
2
3UIServiceHostProxy提供代理能力,可以将数据从[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)服务端发送到客户端。
4
5
6> **说明:**
7>
8>  - 本模块首批接口从API version 14开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
9>  - 本模块接口仅可在Stage模型下使用。
10>  - 本模块接口需要在主线程中使用,不要在Worker、TaskPool等子线程中使用。
11>  - 本模块接口为系统接口。
12
13## 导入模块
14
15```ts
16import { common } from '@kit.AbilityKit';
17```
18
19
20## UIServiceHostProxy.sendData
21
22sendData(data: Record\<string, Object>): void
23
24从[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)服务端给客户端发送数据。
25
26**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
27
28**系统接口**:此接口为系统接口。
29
30**参数:**
31
32| 参数名 | 类型 | 只读 | 可选 | 说明 |
33| -------- | -------- | -------- | -------- | -------- |
34| data | Record\<string, Object> | 是 | 否 | 待发送到[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)客户端的数据。 |
35
36**错误码:**
37
38以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
39
40| 错误码ID | 错误信息 |
41| ------- | -------------------------------- |
42| 202 | Not System App. Interface caller is not a system app .                                                       |
43| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
44| 16000050 | Internal error. |
45
46**示例:**
47
48```ts
49import { common, UIServiceExtensionAbility } from '@kit.AbilityKit';
50
51const TAG: string = '[UiServiceExtensionAbility] ';
52
53export default class MyUiServiceExtensionAbility extends UIServiceExtensionAbility {
54
55  // 数据发送处理
56  onData(proxy: common.UIServiceHostProxy, data: Record<string, Object>) {
57    console.log(TAG + `onData ${JSON.stringify(data)}`);
58    // 定义发送数据内容
59    let formData: Record<string, string> = {
60      'proxyData': 'proxyData'
61    };
62    try {
63      // 发送数据到UIServiceExtension的服务端
64      proxy.sendData(formData);
65    } catch (err) {
66      console.log(TAG + `sendData failed ${JSON.stringify(err.message)}`);
67    }
68  }
69}
70```
71
72