js-apis-app-ability-abilityLifecycleCallback.md 8.3 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)
D
donglin 已提交
2 3 4 5 6 7 8 9 10 11 12

AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命周期监听方法的回调类的能力,包括onAbilityCreate、onWindowStageCreate、onWindowStageDestroy等方法。

> **说明:**
> 
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
> 本模块接口仅可在Stage模型下使用。


## 导入模块

M
m00512953 已提交
13
```ts
D
donglin 已提交
14 15 16 17 18 19
import AbilityLifecycleCallback from "@ohos.app.ability.AbilityLifecycleCallback";
```


## AbilityLifecycleCallback.onAbilityCreate

D
fix  
donglin 已提交
20
onAbilityCreate(ability: UIAbility): void;
D
donglin 已提交
21 22 23 24 25 26 27 28 29

注册监听应用上下文的生命周期后,在ability创建时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
30
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 | 
D
donglin 已提交
31 32 33 34


## AbilityLifecycleCallback.onWindowStageCreate

D
fix  
donglin 已提交
35
onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void;
D
donglin 已提交
36 37 38 39 40 41 42 43 44

注册监听应用上下文的生命周期后,在windowStage创建时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
45
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 |  
D
donglin 已提交
46
  | windowStage | [window.WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |    
D
donglin 已提交
47 48 49 50


## AbilityLifecycleCallback.onWindowStageActive

D
fix  
donglin 已提交
51
onWindowStageActive(ability: UIAbility, windowStage: window.WindowStage): void;
D
donglin 已提交
52 53 54 55 56 57 58 59 60

注册监听应用上下文的生命周期后,在windowStage获焦时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
61
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 |  
D
donglin 已提交
62
  | windowStage | [window.WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |    
D
donglin 已提交
63 64 65 66


## AbilityLifecycleCallback.onWindowStageInactive

D
fix  
donglin 已提交
67
onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void;
D
donglin 已提交
68 69 70 71 72 73 74 75 76

注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
77
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 |  
D
donglin 已提交
78
  | windowStage | [window.WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |  
D
donglin 已提交
79 80 81 82


## AbilityLifecycleCallback.onWindowStageDestroy

D
fix  
donglin 已提交
83
onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void;
D
donglin 已提交
84 85 86 87 88 89 90 91 92

注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
93
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 |  
D
donglin 已提交
94
  | windowStage | [window.WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |  
D
donglin 已提交
95 96 97 98


## AbilityLifecycleCallback.onAbilityDestroy

D
fix  
donglin 已提交
99
onAbilityDestroy(ability: UIAbility): void;
D
donglin 已提交
100 101 102 103 104 105 106 107 108

注册监听应用上下文的生命周期后,在ability销毁时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
109
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 | 
D
donglin 已提交
110 111 112 113


## AbilityLifecycleCallback.onAbilityForeground

D
fix  
donglin 已提交
114
onAbilityForeground(ability: UIAbility): void;
D
donglin 已提交
115 116 117 118 119 120 121 122 123

注册监听应用上下文的生命周期后,在ability的状态从后台转到前台时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
124
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 | 
D
donglin 已提交
125 126 127 128


## AbilityLifecycleCallback.onAbilityBackground

D
fix  
donglin 已提交
129
onAbilityBackground(ability: UIAbility): void;
D
donglin 已提交
130 131 132 133 134 135 136 137 138

注册监听应用上下文的生命周期后,在ability的状态从前台转到后台时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
139
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 | 
D
donglin 已提交
140 141 142 143


## AbilityLifecycleCallback.onAbilityContinue

D
fix  
donglin 已提交
144
onAbilityContinue(ability: UIAbility): void;
D
donglin 已提交
145 146 147 148 149 150 151 152 153

注册监听应用上下文的生命周期后,在ability迁移时触发回调。

**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
donglin 已提交
154
  | ability | [UIAbility](js-apis-app-ability-uiAbility.md#Ability) | 是 | 当前Ability对象 | 
D
donglin 已提交
155 156 157 158

**示例:**
    

M
m00512953 已提交
159
  ```ts
D
fix  
donglin 已提交
160
  import UIAbility from "@ohos.app.ability.UIAbility";
D
donglin 已提交
161
  
D
fix  
donglin 已提交
162
  export default class MyAbility extends UIAbility {
D
donglin 已提交
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
      onCreate() {
          console.log("MyAbility onCreate")
          let AbilityLifecycleCallback  =  {
              onAbilityCreate(ability){
                  console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability));        
              },
            onWindowStageCreate(ability, windowStage){
                console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability)); 
                console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage));           
            },
            onWindowStageActive(ability, windowStage){
                console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability)); 
                console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage));           
            },
            onWindowStageInactive(ability, windowStage){
                console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability));
                console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage));  
            },
            onWindowStageDestroy(ability, windowStage){
                console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability));
                console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage));  
            },
              onAbilityDestroy(ability){
                  console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability));             
              },
              onAbilityForeground(ability){
                  console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability));             
              },
              onAbilityBackground(ability){
                  console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability));              
              },
              onAbilityContinue(ability){
                  console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability));
              }
          }
          // 1.通过context属性获取applicationContext
          let applicationContext = this.context.getApplicationContext();
          // 2.通过applicationContext注册监听应用内生命周期
          let lifecycleid = applicationContext.on("abilityLifecycle", AbilityLifecycleCallback);
          console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid));       
      },
      onDestroy() {
          let applicationContext = this.context.getApplicationContext();
          applicationContext.off("abilityLifecycle", lifecycleid, (error, data) => {
              console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
          });
      }
  }
  ```