如何在Page中获取WindowStage实例
2024-12-18 15:56:34
457次阅读
0个评论
方式一:在onWindowStageCreate方法中获取
import { UIAbility } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
export default class EntryAbility extends UIAbility {
// ...
onWindowStageCreate(windowStage: window.WindowStage): void {
// Main window is created, set main page for this ability
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
windowStage.loadContent('pages/Index', (err) => {
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.');
});
console.info('windowStage+++', JSON.stringify(windowStage))
AppStorage.setAndLink('windowStage', windowStage)
}
// ...
}
方式二:UIAbilityContext当前提供了相关接口来获取WindowStage实例
// Index.ets
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Index {
@State showAbility: string = 'get windowStage'
build() {
Row() {
Column() {
Text(this.showAbility)
.fontSize(30)
.fontWeight(FontWeight.Bold)
.onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
console.info('获取到的WindowStage实例:',JSON.stringify(context.windowStage))
});
}
.width('100%')
}
.height('100%')
}
}
00
- 1回答
- 0粉丝
- 0关注
