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