Hongmeng native application/meta-service development-Stage model capability interface (3)

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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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:
Hongmeng native application/meta-service development-Stage model capability interface (3)-Hongmeng Developer Community
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、…

picture

Chapter 2 Development Basics

1. Basic knowledge of application packages

2. Application configuration file (Stage model)

3. Application configuration file overview (FA model)

4、…

picture

Chapter 3 Resource Classification and Access

1. Resource classification and access

2. Create resource directories and resource files

3. Resource access

4、…

picture

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、…

picture

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…

picture

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…

picture

11. Network and connections

12. Telephone service

13.Data management

14.File management

15.Background task management

16.Device management

17…

picture

Chapter 7 Application Model

1. Overview of application model

2.Stage model development guidance

3.FA model development guidance

4…

picture

Scan the QR code below to receive the "HarmonyOS Development Study Guide" for free

Guess you like

Origin blog.csdn.net/Android23333/article/details/135355008