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