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```