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