鸿蒙full_sdk使用指南-3.代码展示
·
原文链接
版本号:openharmony 3.2R
实现功能
在OpenHarmony stage模型中实现在entry module里面启动其他module的ability
在device module中有个DeviceVariableAbility
import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
const TAG: string = "[ServiceExtAbility]";
export default class DeviceVariableAbility extends ServiceExtensionAbility {
onCreate(want) {
console.info(TAG, `onCreate12345, want: ${want.abilityName}`);
}
onRequest(want, startId) {
console.info(TAG, `onRequest, want: ${want.abilityName}`);
}
onConnect(want) {
console.info(TAG, `onConnect, want: ${want.abilityName}`);
// 返回ServiceExtImpl对象,客户端获取后便可以与ServiceExtensionAbility进行通信
return null;
}
onDisconnect(want) {
console.info(TAG, `onDisconnect, want: ${want.abilityName}`);
}
onDestroy() {
console.info(TAG, `onDestroy`);
}
}
在entry模块中的启动Ability EntryAbility 通过 startServiceExtensionAbility接口拉起上面那个DeviceVariableAbility
import UIAbility from '@ohos.app.ability.UIAbility';
import hilog from '@ohos.hilog';
import window from '@ohos.window';
import DeviceInfo from './DeviceInfo';
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
let context = this.context;
new DeviceInfo(this.context);
let deviceVariableAbility = {
"bundleName": "com.hmwl.hmhmi",
"abilityName": "DeviceVariableAbility"
};
context.startServiceExtensionAbility(deviceVariableAbility).then(() => {
console.info('Succeeded in starting ServiceExtensionAbility.');
}).catch((err) => {
console.error(`Failed to start ServiceExtensionAbility. Code is ${err.code}, message is ${err.message}`);
})
}
onDestroy() {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
}
onWindowStageCreate(windowStage: window.WindowStage) {
// Main window is created, set main page for this ability
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
windowStage.loadContent('pages/Index', (err, data) => {
if (err.code) {
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
return;
}
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
});
}
onWindowStageDestroy() {
// Main window is destroyed, release UI related resources
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');
}
onForeground() {
// Ability has brought to foreground
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');
}
onBackground() {
// Ability has back to background
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
}
}
更多推荐
所有评论(0)