• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.ApplicationStateChangeCallback (ApplicationStateChangeCallback)
2
3ApplicationStateChangeCallback模块提供应用上下文ApplicationContext对当前应用前后台变化监听回调的能力,包括onApplicationForeground、onApplicationBackground方法。
4
5> **说明:**
6>
7> 本模块首批接口从API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口仅可在Stage模型下使用。
9
10## 导入模块
11
12```ts
13import ApplicationStateChangeCallback from '@ohos.app.ability.ApplicationStateChangeCallback';
14```
15
16## ApplicationStateChangeCallback.onApplicationForeground
17
18onApplicationForeground(): void;
19
20注册当前应用前后台变化的监听后,在当前应用从后台切换到前台时触发回调。
21
22**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
23
24**示例:**
25
26```ts
27import UIAbility from '@ohos.app.ability.UIAbility';
28import ApplicationStateChangeCallback from '@ohos.app.ability.ApplicationStateChangeCallback';
29
30let applicationStateChangeCallback: ApplicationStateChangeCallback = {
31    onApplicationForeground() {
32        console.info('applicationStateChangeCallback onApplicationForeground');
33    },
34    onApplicationBackground() {
35        console.info('applicationStateChangeCallback onApplicationBackground');
36    }
37}
38
39export default class MyAbility extends UIAbility {
40    onCreate() {
41        console.log('MyAbility onCreate');
42        // 1.获取applicationContext
43        let applicationContext = this.context.getApplicationContext();
44        // 2.通过applicationContext注册应用前后台状态监听
45        if (applicationContext != undefined) {
46            applicationContext.on('applicationStateChange', applicationStateChangeCallback);
47        }
48    }
49    onDestroy() {
50        let applicationContext = this.context.getApplicationContext();
51        // 1.通过applicationContext解除注册应用前后台状态监听
52        if (applicationContext != undefined) {
53            applicationContext.off('applicationStateChange', applicationStateChangeCallback);
54        }
55    }
56}
57```
58
59## ApplicationStateChangeCallback.onApplicationBackground
60
61onApplicationBackground(): void;
62
63注册当前应用前后台变化的监听后,在当前应用从前台切换到后台时触发回调。
64
65**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
66
67**示例:**
68
69```ts
70import UIAbility from '@ohos.app.ability.UIAbility';
71import ApplicationStateChangeCallback from '@ohos.app.ability.ApplicationStateChangeCallback';
72
73let applicationStateChangeCallback: ApplicationStateChangeCallback = {
74    onApplicationForeground() {
75        console.info('applicationStateChangeCallback onApplicationForeground');
76    },
77    onApplicationBackground() {
78        console.info('applicationStateChangeCallback onApplicationBackground');
79    }
80}
81
82export default class MyAbility extends UIAbility {
83    onCreate() {
84        console.log('MyAbility onCreate');
85        // 1.获取applicationContext
86        let applicationContext = this.context.getApplicationContext();
87        // 2.通过applicationContext注册应用前后台状态监听
88        if (applicationContext != undefined) {
89            applicationContext.on('applicationStateChange', applicationStateChangeCallback);
90        }
91        console.log('Resgiter applicationStateChangeCallback');
92    }
93    onDestroy() {
94        let applicationContext = this.context.getApplicationContext();
95        // 1.通过applicationContext解除注册应用前后台状态监听
96        if (applicationContext != undefined) {
97            applicationContext.off('applicationStateChange', applicationStateChangeCallback);
98        }
99    }
100}
101```