Connecting to a ServiceExtensionAbility from the FA Model
This topic describes how the three application components of the FA model connect to the ServiceExtensionAbility component of the stage model.
PageAbility Accessing a ServiceExtensionAbility
A PageAbility accesses a ServiceExtensionAbility in the same way as it accesses a ServiceAbility.
import featureAbility from '@ohos.ability.featureAbility';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
let want: Want = {
bundleName: "com.ohos.stage",
abilityName: "com.ohos.stage.ServiceExtensionAbility"
};
let faConnect: common.ConnectOptions = {
onConnect: (elementName, proxy) => {
console.info("Faconnection onConnect called.");
},
onDisconnect: (elementName) => {
console.info("Faconnection onDisconnect called.");
},
onFailed: (code) => {
console.info("Faconnection onFailed code is: " + code);
}
};
let connectionId = featureAbility.connectAbility(want, faConnect);
ServiceAbility or DataAbility Accessing a ServiceExtensionAbility
A ServiceAbility or DataAbility accesses a ServiceExtensionAbility in the same way as it accesses a ServiceAbility.
import particleAbility from '@ohos.ability.particleAbility';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
let want: Want = {
bundleName: "com.ohos.stage",
abilityName: "com.ohos.stage.ServiceExtensionAbility"
};
let faConnect: common.ConnectOptions = {
onConnect: (elementName, proxy) => {
console.info("Faconnection onConnect called.");
},
onDisconnect: (elementName) => {
console.info("Faconnection onDisconnect called.");
},
onFailed: (code) => {
console.info("Faconnection onFailed code is: " + code);
}
};
let connectionId = particleAbility.connectAbility(want, faConnect);