W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
AbilityLifecycleCallback模塊提供應用上下文ApplicationContext的生命周期發(fā)生變化時觸發(fā)相應回調(diào)的能力,包括onAbilityCreate、onWindowStageCreate、onWindowStageActive、onWindowStageInactive、onWindowStageDestroy、onAbilityDestroy、onAbilityForeground、onAbilityBackground、onAbilityContinue方法。
本模塊首批接口從API version 9 開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
本模塊接口僅可在Stage模型下使用。
onAbilityCreate(ability: UIAbility): void;
注冊監(jiān)聽應用上下文的生命周期后,在ability創(chuàng)建時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
示例:
- let abilityLifecycleCallback = {
- onAbilityCreate(ability){
- console.log('AbilityLifecycleCallback onAbilityCreate.');
- }
- };
onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
注冊監(jiān)聽應用上下文的生命周期后,在windowStage創(chuàng)建時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
windowStage | window.WindowStage | 是 | 當前WindowStage對象 |
示例:
- let abilityLifecycleCallback = {
- onWindowStageCreate(ability, windowStage){
- console.log('AbilityLifecycleCallback onWindowStageCreate.');
- }
- };
onWindowStageActive(ability: UIAbility, windowStage: window.WindowStage): void;
注冊監(jiān)聽應用上下文的生命周期后,在windowStage獲焦時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
windowStage | window.WindowStage | 是 | 當前WindowStage對象 |
示例:
- let abilityLifecycleCallback = {
- onWindowStageActive(ability, windowStage){
- console.log('AbilityLifecycleCallback onWindowStageActive.');
- }
- };
onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void;
注冊監(jiān)聽應用上下文的生命周期后,在windowStage失焦時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
windowStage | window.WindowStage | 是 | 當前WindowStage對象 |
示例:
- let abilityLifecycleCallback = {
- onWindowStageInactive(ability, windowStage){
- console.log('AbilityLifecycleCallback onWindowStageInactive.');
- }
- };
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
注冊監(jiān)聽應用上下文的生命周期后,在windowStage銷毀時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
windowStage | window.WindowStage | 是 | 當前WindowStage對象 |
示例:
- let abilityLifecycleCallback = {
- onWindowStageDestroy(ability, windowStage){
- console.log('AbilityLifecycleCallback onWindowStageDestroy.');
- }
- };
onAbilityDestroy(ability: UIAbility): void;
注冊監(jiān)聽應用上下文的生命周期后,在ability銷毀時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
示例:
- let abilityLifecycleCallback = {
- onAbilityDestroy(ability){
- console.log('AbilityLifecycleCallback onAbilityDestroy.');
- }
- };
onAbilityForeground(ability: UIAbility): void;
注冊監(jiān)聽應用上下文的生命周期后,在ability的狀態(tài)從后臺轉(zhuǎn)到前臺時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
示例:
- let abilityLifecycleCallback = {
- onAbilityForeground(ability){
- console.log('AbilityLifecycleCallback onAbilityForeground.');
- }
- };
onAbilityBackground(ability: UIAbility): void;
注冊監(jiān)聽應用上下文的生命周期后,在ability的狀態(tài)從前臺轉(zhuǎn)到后臺時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
示例:
- let abilityLifecycleCallback = {
- onAbilityBackground(ability){
- console.log('AbilityLifecycleCallback onAbilityBackground.');
- }
- };
onAbilityContinue(ability: UIAbility): void;
注冊監(jiān)聽應用上下文的生命周期后,在ability遷移時觸發(fā)回調(diào)。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.AbilityCore
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
ability | UIAbility | 是 | 當前Ability對象 |
示例:
- let abilityLifecycleCallback = {
- onAbilityContinue(ability){
- console.log('AbilityLifecycleCallback onAbilityContinue.');
- }
- };
示例:
MyFirstAbility.ts
- import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback';
- import AbilityStage from '@ohos.app.ability.AbilityStage';
- import UIAbility from '@ohos.app.ability.UIAbility';
- // 聲明ability生命周期回調(diào),需配置所有回調(diào)后才可以在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注冊監(jiān)聽應用內(nèi)生命周期
- 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注銷監(jiān)聽應用內(nèi)生命周期
- applicationContext.off('abilityLifecycle', globalThis.lifecycleId, (error) => {
- if (error.code != 0) {
- console.log('unregisterAbilityLifecycleCallback failed, error: ' + JSON.stringify(error));
- } else {
- console.log('unregisterAbilityLifecycleCallback success.');
- }
- });
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: