中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
如何在page中获取UIAbility生命周期做自定义逻辑
微信扫码分享
page中不能介入篡改生命周期里本身的逻辑,可以通过ApplicationContext.on注册监听UIAbility的生命周期进行自定义逻辑。
示例如下:
import UIAbility from '@ohos.app.ability.UIAbility'; import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback'; let lifecycleId: number; export default class EntryAbility extends UIAbility { onCreate() { console.log('MyAbility onCreate'); let AbilityLifecycleCallback: AbilityLifecycleCallback = { onAbilityCreate(ability) { // ... }, onWindowStageCreate(ability, windowStage) { // ... }, onWindowStageActive(ability, windowStage) { // ... }, onWindowStageInactive(ability, windowStage) { // ... }, onWindowStageDestroy(ability, windowStage) { // ... }, onAbilityDestroy(ability) { // ... }, onAbilityForeground(ability) { // ... }, onAbilityBackground(ability) { // ... }, onAbilityContinue(ability) { // ... } } // 1.通过context属性获取applicationContext let applicationContext = this.context.getApplicationContext(); // 2.通过applicationContext注册监听应用内生命周期 lifecycleId = applicationContext.on('abilityLifecycle', AbilityLifecycleCallback); console.log(`registerAbilityLifecycleCallback lifecycleId: ${lifecycleId}`); } }
page中不能介入篡改生命周期里本身的逻辑,可以通过ApplicationContext.on注册监听UIAbility的生命周期进行自定义逻辑。
示例如下: