• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.ApplicationStateChangeCallback (ApplicationStateChangeCallback)
2
3The **ApplicationStateChangeCallback** module provides callbacks for the application context to listen for application foreground/background state changes.
4
5> **NOTE**
6>
7> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8> The APIs of this module can be used only in the stage model.
9
10## Modules to Import
11
12```ts
13import ApplicationStateChangeCallback from '@ohos.app.ability.ApplicationStateChangeCallback';
14```
15
16## ApplicationStateChangeCallback.onApplicationForeground
17
18onApplicationForeground(): void;
19
20Called when the application is switched from the background to the foreground.
21
22**System capability**: SystemCapability.Ability.AbilityRuntime.AbilityCore
23
24**Example**
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. Obtain an applicationContext object.
43        let applicationContext = this.context.getApplicationContext();
44        // 2. Use applicationContext.on() to subscribe to the 'applicationStateChange' event.
45        if (applicationContext != undefined) {
46            applicationContext.on('applicationStateChange', applicationStateChangeCallback);
47        }
48    }
49    onDestroy() {
50        let applicationContext = this.context.getApplicationContext();
51        // 1. Use applicationContext.off() to unsubscribe from the 'applicationStateChange' event.
52        if (applicationContext != undefined) {
53            applicationContext.off('applicationStateChange', applicationStateChangeCallback);
54        }
55    }
56}
57```
58
59## ApplicationStateChangeCallback.onApplicationBackground
60
61onApplicationBackground(): void;
62
63Called when the application is switched from the foreground to the background.
64
65**System capability**: SystemCapability.Ability.AbilityRuntime.AbilityCore
66
67**Example**
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. Obtain an applicationContext object.
86        let applicationContext = this.context.getApplicationContext();
87        // 2. Use applicationContext.on() to subscribe to the 'applicationStateChange' event.
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. Use applicationContext.off() to unsubscribe from the 'applicationStateChange' event.
96        if (applicationContext != undefined) {
97            applicationContext.off('applicationStateChange', applicationStateChangeCallback);
98        }
99    }
100}
101```
102