@ohos.application.DistributedExtensionAbility (Distributed Extension)
The DistributedExtensionAbility module provides distributed extension capabilities and lifecycle callbacks for distributed ability creation, destruction, and connection.
NOTE
The initial APIs of this module are supported since API version 20. Newly added APIs will be marked with a superscript to indicate their earliest API version.
The APIs of this module can be used only in the stage model.
Modules to Import
import { DistributedExtensionAbility} from '@kit.DistributedServiceKit';
DistributedExtensionAbility
Attributes
Model restriction: This API can be used only in the stage model.
System capability: SystemCapability.DistributedSched.AppCollaboration
| Name | Type | Read-Only | Optional | Description |
|---|---|---|---|---|
| context | DistributedExtensionContext | No | No | Context of the DistributedExtension. This context inherits from ExtensionContext. |
onCreate
onCreate(want: Want): void
Callback invoked to initialize the service logic when a DistributedExtensionAbility instance is created.
Model restriction: This API can be used only in the stage model.
System capability: SystemCapability.DistributedSched.AppCollaboration
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| want | Want | Yes | Want information related to the DistributedExtensionAbility instance, including the ability name and bundle name. |
Example
import { Want } from '@kit.AbilityKit';
import { DistributedExtensionAbility } from '@kit.DistributedServiceKit';
export default class DistributedExtension extends DistributedExtensionAbility {
onCreate(want: Want) {
console.info(`DistributedExtension Create ok`);
console.info(`DistributedExtension on Create want: ${JSON.stringify(want)}`);
console.info(`DistributedExtension Create end`);
}
}
onCollaborate
onCollaborate(wantParam: Record <string, Object>) : AbilityConstant.CollaborateResult
Callback invoked to return the collaboration result in multi-device collaboration scenarios.
Model restriction: This API can be used only in the stage model.
System capability: SystemCapability.DistributedSched.AppCollaboration
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| wantParam | Record <string, Object> | Yes | Want parameter, which supports only the key "ohos.extra.param.key.supportCollaborateIndex". The key can be used to obtain the data passed by the caller and perform corresponding processing. |
Return value
| Type | Description |
|---|---|
| AbilityConstant.CollaborateResult | Collaboration result, that is, whether the target application accepts the collaboration request. |
Example
import { abilityConnectionManager, DistributedExtensionAbility } from '@kit.DistributedServiceKit';
import { AbilityConstant } from '@kit.AbilityKit';
export default class DistributedExtension extends DistributedExtensionAbility {
onCollaborate(wantParam: Record<string, Object>) {
console.info(`DistributedExtension onCollabRequest Accept to the result of Ability collaborate`);
let sessionId = -1;
const collaborationValues = wantParam["CollaborationValues"] as abilityConnectionManager.CollaborationValues;
if (collaborationValues == undefined) {
return sessionId;
}
console.info(`onCollab, collaborationValues: ${JSON.stringify(collaborationValues)}`);
return AbilityConstant.CollaborateResult.ACCEPT;
}
}
onDestroy
onDestroy(): void
Callback invoked to clear resources when a ServiceExtensionAbility instance is destroyed.
Model restriction: This API can be used only in the stage model.
System capability: SystemCapability.DistributedSched.AppCollaboration
Example
import { DistributedExtensionAbility } from '@kit.DistributedServiceKit';
export default class DistributedExtension extends DistributedExtensionAbility {
onDestroy() {
console.info('DistributedExtension onDestroy ok');
}
}