1. Explain that
the AbilityLifecycleCallback module provides the ability to trigger corresponding callbacks when the life cycle of the application context ApplicationContext changes, including onAbilityCreate, onWindowStageCreate, onWindowStageActive, onWindowStageInactive, onWindowStageDestroy, onAbilityDestroy, onAbilityForeground, onAbilityBackground, and onAbilityContinue methods. The first batch of interfaces of this module are supported starting from API version 9. For new interfaces in subsequent versions, the initial version of the interface is individually marked with a superscript. This module interface can only be used under the Stage model.
2. Import module
import AbilityLifecycleCallback from ‘@ohos.app.ability.AbilityLifecycleCallback’;
1.AbilityLifecycleCallback.onAbilityCreate
onAbilityCreate(ability: UIAbility): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the ability is created.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onAbilityCreate(ability){
console.log(‘AbilityLifecycleCallback onAbilityCreate.’);
}
};
2.AbilityLifecycleCallback.onWindowStageCreate
onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is created.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onAbilityCreate(ability){
console.log(‘AbilityLifecycleCallback onAbilityCreate.’);
}
};
3.AbilityLifecycleCallback.onWindowStageCreate
onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is created.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onWindowStageActive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageActive.’);
}
};
4.AbilityLifecycleCallback.onWindowStageInactive
onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage loses focus.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
5.AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is destroyed.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
6.AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is destroyed.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
l
et abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
7.AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is destroyed.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
}
};
8.AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
After registering to monitor the life cycle of the application context, the callback is triggered when the windowStage is destroyed.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onAbilityBackground(ability){
console.log(‘AbilityLifecycleCallback onAbilityBackground.’);
}
};
9.AbilityLifecycleCallback.onAbilityContinue
onAbilityContinue(ability: UIAbility): void;
After registering to monitor the life cycle of the application context, the callback is triggered during ability migration.
System Capability: SystemCapability.Ability.AbilityRuntime.AbilityCore
Parameters:
Example:
let abilityLifecycleCallback = {
onAbilityContinue(ability){
console.log(‘AbilityLifecycleCallback onAbilityContinue.’);
}
};
**AbilityLifecycleCallback使用**
示例:
MyFirstAbility.ts
import AbilityLifecycleCallback from ‘@ohos.app.ability.AbilityLifecycleCallback’;
import AbilityStage from ‘@ohos.app.ability.AbilityStage’;
import UIAbility from ‘@ohos.app.ability.UIAbility’;
// 声明ability生命周期回调,需配置所有回调后才可以在applicationContext注册
let abilityLifecycleCallback = {
onAbilityCreate(ability){
console.log(‘AbilityLifecycleCallback onAbilityCreate.’);
},
onWindowStageCreate(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageCreate.’);
},
onWindowStageActive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageActive.’);
},
onWindowStageInactive(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageInactive.’);
},
onWindowStageDestroy(ability, windowStage){
console.log(‘AbilityLifecycleCallback onWindowStageDestroy.’);
},
onAbilityDestroy(ability){
console.log(‘AbilityLifecycleCallback onAbilityDestroy.’);
},
onAbilityForeground(ability){
console.log(‘AbilityLifecycleCallback onAbilityForeground.’);
},
onAbilityBackground(ability){
console.log(‘AbilityLifecycleCallback onAbilityBackground.’);
},
onAbilityContinue(ability){
console.log(‘AbilityLifecycleCallback onAbilityContinue.’);
}
};
export default class MyFirstAbility extends UIAbility {
onCreate() {
console.log(‘MyAbilityStage onCreate’);
// 1.通过context属性获取applicationContext
let applicationContext = this.context.getApplicationContext();
// 2.通过applicationContext注册监听应用内生命周期
try {
globalThis.lifecycleId = applicationContext.on(‘abilityLifecycle’, abilityLifecycleCallback);
console.log(‘registerAbilityLifecycleCallback lifecycleId: ${
globalThis.lifecycleId}’);
} catch (paramError) {
console.log(‘error: ’ + paramError.code + ’ ,’ + paramError.message);
}
}
}
MySecondAbility.ts
import UIAbility from ‘@ohos.app.ability.UIAbility’;
export default class MySecondAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
// 3.通过applicationContext注销监听应用内生命周期
applicationContext.off(‘abilityLifecycle’, globalThis.lifecycleId, (error) => {
if (error.code != 0) {
console.log('unregisterAbilityLifecycleCallback failed, error: ’ + JSON.stringify(error));
} else {
console.log(‘unregisterAbilityLifecycleCallback success.’);
}
});
}
}
end
Here is a "Hongmeng (HarmonyOS) Development Learning Guide", hoping to provide some help to those who want to learn Hongmeng but have no direction. (Due to the excessive content of the document, in order to avoid affecting everyone’s reading experience, only part of the content is shown in screenshots. There is a free way to obtain the detailed full version at the end of the article!)
"HarmonyOS Development Study Guide"
Chapter 1 Quick Start
1. Development preparation
2. Build the first ArkTS application (Stage model)
3. Build the first ArkTS application (FA model)
4. Build the first JS application (FA model)
5、…
Chapter 2 Development Basics
1. Basic knowledge of application packages
2. Application configuration file (Stage model)
3. Application configuration file overview (FA model)
4、…
Chapter 3 Resource Classification and Access
1. Resource classification and access
2. Create resource directories and resource files
3. Resource access
4、…
Chapter 4 Learning ArkTs Language
1. First introduction to ArkTS language
2. Basic grammar
3. Status management
4. Other status management
5. Rendering control
6、…
Chapter 5 UI Development
1. Overview of Ark Development Framework (ArkUI)
2. Based on ArkTS declarative development paradigm
3. Web-like development paradigm compatible with JS
4…
Chapter 6 Web Development
1. Overview of Web Components
2. Load the page using web components
3. Set basic properties and events
4. Use front-end page JavaScript in your application
5. Overview of ArkTS language basic class library
6. Concurrency
7…
11. Network and connections
12. Telephone service
13.Data management
14.File management
15.Background task management
16.Device management
17…
Chapter 7 Application Model
1. Overview of application model
2.Stage model development guidance
3.FA model development guidance
4…
Scan the QR code below to receive the "HarmonyOS Development Study Guide" for free