ServiceExtensionAbility
NOTE The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Provides APIs related to ServiceExtension.
Modules to Import
import ServiceExtension from '@ohos.application.ServiceExtensionAbility';
Required Permissions
None.
Attributes
System capability: SystemCapability.Ability.AbilityRuntime.Core
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
context | ServiceExtensionContext | Yes | No | Service extension context, which is inherited from ExtensionContext. |
ServiceExtensionAbility.onCreate
onCreate(want: Want): void;
Called when an extension is created to initialize the service logic.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
want | Want | Yes | Information related to this extension, including the ability name and bundle name. |
Example
class ServiceExt extends ServiceExtension {
onCreate(want) {
console.log('onCreate, want:' + want.abilityName);
}
}
ServiceExtensionAbility.onDestroy
onDestroy(): void;
Called when this extension is destroyed to clear resources.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Example
class ServiceExt extends ServiceExtension {
onDestroy() {
console.log('onDestroy');
}
}
ServiceExtensionAbility.onRequest
onRequest(want: Want, startId: number): void;
Called after onCreate is invoked when an ability is started by calling startAbility. The value of startId is incremented for each ability that is started.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
want | Want | Yes | Information related to this extension, including the ability name and bundle name. |
startId | number | Yes | Number of ability start times. The initial value is 1, and the value is automatically incremented for each ability started. |
Example
class ServiceExt extends ServiceExtension {
onRequest(want, startId) {
console.log('onRequest, want:' + want.abilityName);
}
}
ServiceExtensionAbility.onConnect
onConnect(want: Want): rpc.RemoteObject;
Called after onCreate is invoked when an ability is started by calling connectAbility. A RemoteObject object is returned for communication with the client.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
want | Want | Yes | Information related to this extension, including the ability name and bundle name. |
Return value
Type | Description |
---|---|
rpc.RemoteObject | A RemoteObject object used for communication with the client. |
Example
import rpc from '@ohos.rpc'
class StubTest extends rpc.RemoteObject{
constructor(des) {
super(des);
}
onRemoteRequest(code, data, reply, option) {
}
}
class ServiceExt extends ServiceExtension {
onConnect(want) {
console.log('onConnect , want:' + want.abilityName);
return new StubTest("test");
}
}
ServiceExtensionAbility.onDisconnect
onDisconnect(want: Want): void;
Called when the ability is disconnected.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
want | Want | Yes | Information related to this extension, including the ability name and bundle name. |
Example
class ServiceExt extends ServiceExtension {
onDisconnect(want) {
console.log('onDisconnect, want:' + want.abilityName);
}
}