• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ConnectOptions
2
3**ConnectOptions** can be used as an input parameter to receive status changes during the connection to a background service. For example, it is used as an input parameter of [connectServiceExtensionAbility](js-apis-inner-application-uiAbilityContext.md#uiabilitycontextconnectserviceextensionability) to connect to a ServiceExtensionAbility.
4
5> **NOTE**
6>
7> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8
9## Modules to Import
10
11```ts
12import common from '@ohos.app.ability.common';
13```
14
15## Attributes
16
17**System capability**: SystemCapability.Ability.AbilityRuntime.Core
18
19|    Name     | Type      | Mandatory  | Description                       |
20| ------------ | -------- | ---- | ------------------------- |
21| onConnect<sup>7+</sup>    | function | Yes   | Callback invoked when a connection is set up.     |
22| onDisconnect<sup>7+</sup> | function | Yes   | Callback invoked when a connection is interrupted.          |
23| onFailed<sup>7+</sup>     | function | Yes   | Callback invoked when a connection fails.|
24
25**Example**
26
27  ```ts
28  import UIAbility from '@ohos.app.ability.UIAbility';
29  import common from '@ohos.app.ability.common';
30  import Want from '@ohos.app.ability.Want';
31  import AbilityConstant from '@ohos.app.ability.AbilityConstant';
32  import bundleManager from '@ohos.bundle.bundleManager';
33  import rpc from '@ohos.rpc';
34
35  let connectWant: Want = {
36    bundleName: 'com.example.myapp',
37    abilityName: 'MyAbility'
38  };
39
40  let connectOptions: common.ConnectOptions = {
41    onConnect(elementName: bundleManager.ElementName, remote: rpc.IRemoteObject) {
42      console.log(`onConnect elementName: ${elementName}`);
43    },
44    onDisconnect(elementName: bundleManager.ElementName) {
45      console.log(`onDisconnect elementName: ${elementName}`);
46    },
47    onFailed(code: number) {
48      console.error(`onFailed code: ${code}`);
49    }
50  };
51
52
53  class EntryAbility extends UIAbility {
54    onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
55      let connection: number = this.context.connectServiceExtensionAbility(connectWant, connectOptions);
56    }
57  }
58  ```
59