js-apis-service-extension.md 3.7 KB
Newer Older
1 2
# ServiceExtension

3 4 5 6 7 8 9 10
- [导入模块](#导入模块)
- [权限](#权限)
- [属性](#属性)
- [onCreate](#onCreate)
- [onDestroy](#onDestroy)
- [onRequest](#onRequest)
- [onConnect](#onConnect)
- [onDisconnect](#onDisconnect)
11 12 13 14
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


15
提供ServiceExtension服务扩展相关接口。
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31


## 导入模块

```
import ServiceExtension from '@ohos.application.ServiceExtension';
```


## 权限




## 属性

32
| 名称 | 参数类型 | 可读 | 可写 | 说明 | 
33
| -------- | -------- | -------- | -------- | -------- |
34
| context | [ServiceExtensionContext](js-apis-service-extension-context.md)  | 是 | 否 | ServiceExtension的上下文环境,继承自ExtensionContext。 | 
35 36 37 38


## onCreate

39
onCreate(want: Want): void;
40

41
Extension生命周期回调,在创建时回调,执行初始化业务逻辑操作。
42 43

- 参数:
44
  | 参数名 | 类型 | 必填 | 说明 | 
45
  | -------- | -------- | -------- | -------- |
46
  | want |  [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 | 
47 48 49 50 51 52 53 54 55 56 57

- 示例:
  ```
  onCreate(want) {
      console.log('onCreate, want:' + want.abilityName);
  }
  ```


## onDestroy

58
onDestroy(): void;
59

60
Extension生命周期回调,在销毁时回调,执行资源清理等操作。
61 62 63 64 65

- 示例:
  ```
  onDestroy() {
      console.log('onDestroy');
66
      destory();
67 68 69 70 71 72
  }
  ```


## onRequest

73
onRequest(want: Want, startId: number): void;
74

75
Extension生命周期回调,如果是startAbility拉起的服务,会在onCreate之后回调。每次拉起服务都会回调,startId会递增。
76 77

- 参数:
78
  | 参数名 | 类型 | 必填 | 说明 | 
79
  | -------- | -------- | -------- | -------- |
80 81
  | want |  [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 | 
  | startId | number | 是 | 返回拉起次数。首次拉起初始值返回1,多次之后自动递增。 | 
82 83 84 85 86 87 88 89 90 91 92

- 示例:
  ```
  onRequest(want: Want, startId: number) {
      console.log('onRequest, want:' + want.abilityName);
  }
  ```


## onConnect

93
onConnect(want: Want): rpc.RemoteObject;
94

95
Extension生命周期回调,如果是connectAbility拉起的服务,会在onCreate之后回调。返回一个RemoteObject对象,用于和客户端进行通信。
96 97

- 参数:
98
  | 参数名 | 类型 | 必填 | 说明 | 
99
  | -------- | -------- | -------- | -------- |
100
  | want |  [Want](js-apis-featureAbility.md#Want类型说明)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 | 
101 102

- 返回值:
103
  | 类型 | 说明 | 
104
  | -------- | -------- |
105
  | rpc.RemoteObject | 一个RemoteObject对象,用于和客户端进行通信。 | 
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

- 示例:
  ```
  import rpc from '@ohos.rpc'
  class StubTest extends rpc.RemoteObject{
      constructor(des) {
          super(des);
      }
      onRemoteRequest(code, data, reply, option) {
      }
  }
  ...
  onConnect(want) {
      console.log('onConnect , want:' + want.abilityName);
      return new StubTest("test");
  }
  ```


## onDisconnect

127
onDisconnect(want: Want): void;
128 129 130 131

Extension的生命周期,断开服务连接时回调。

- 参数:
132
  | 参数名 | 类型 | 必填 | 说明 | 
133
  | -------- | -------- | -------- | -------- |
134
  | want |[Want](js-apis-featureAbility.md#Want类型说明)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 | 
135 136 137 138 139 140 141

- 示例:
  ```
  onDisconnect(want) {
      console.log('onDisconnect, want:' + want.abilityName);
  }
  ```