鸿蒙原生应用/元服务开发-Stage模型能力接口(七)

@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)
一、说明

EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stage模型下使用。

二、导入模块

import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback';
1.EnvironmentCallback.onConfigurationUpdated

onConfigurationUpdated(config: Configuration): void;

注册系统环境变化的监听后,在系统环境变化时触发回调。

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

参数:

2.EnvironmentCallback.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void;

注册系统环境变化的监听后,在系统内存变化时触发回调。

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

参数:

回调返回内存微调级别,显示当前内存使用状态。

示例:

复制代码
import UIAbility from '@ohos.app.ability.UIAbility';

let callbackId;

export default class MyAbility extends UIAbility {
  onCreate() {
      console.log('MyAbility onCreate');
      globalThis.applicationContext = this.context.getApplicationContext();
      let EnvironmentCallback  =  {
          onConfigurationUpdated(config){
              console.log('onConfigurationUpdated config:' + JSON.stringify(config));
          },
          onMemoryLevel(level){
              console.log('onMemoryLevel level: ${JSON.stringify(level)}');
          }
      };
      // 1.获取applicationContext
      let applicationContext = globalThis.applicationContext;
      // 2.通过applicationContext注册监听应用内生命周期
      callbackId = applicationContext.registerEnvironmentCallback(EnvironmentCallback);
      console.log('registerEnvironmentCallback number: ' + JSON.stringify(callbackId));
  }
  onDestroy() {
      let applicationContext = globalThis.applicationContext;
      applicationContext.unregisterEnvironmentCallback(callbackId, (error, data) => {
          console.log('unregisterEnvironmentCallback success, err: ' + JSON.stringify(error));
      });
  }
}

本文根据HarmonyOS官方开发文档整理

相关推荐
IT从业者张某某2 小时前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
lqj_本人2 小时前
WinPcap 鸿蒙 PC 适配全记录:从 NPF 原始抓包到 VPN_TUN 与 libpcap 双通路
qt·华为·harmonyos
●VON4 小时前
Flutter 鸿蒙插件适配实战:用 device_screen_brightness 2.0.0 控制并监听屏幕亮度
flutter·华为·harmonyos
ChinaDragon4 小时前
HarmonyOS:应用横竖屏切换
harmonyos
颜颜yan_4 小时前
ESP-IDF 鸿蒙 PC 适配全记录:打通 Python、构建工具链与 ESP32-P4 固件生成
python·华为·harmonyos
梦想不只是梦与想7 小时前
鸿蒙 邀请测试:AppGallery邀请测试流程
harmonyos·appgallery 邀请测试·邀请测试
贾伟康10 小时前
【口算王|02】HarmonyOS ArkTS 答题提交实战:防止重复提交并推进下一题
harmonyos·arkts·状态管理·arkui·幂等设计
承渊政道11 小时前
Python IDLE鸿蒙PC适配全记录:从Tkinter桌面程序到ArkUI原生开发闭环
开发语言·python·harmonyos·鸿蒙系统·桌面程序
万物智能信息科技12 小时前
电容触摸 FT5406,另一颗芯片、同一条总线—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
人工智能·华为·开源·harmonyos·鸿蒙
ChinaDragonDreamer12 小时前
HarmonyOS:应用程序包管理模块(获取当前应用信息)
harmonyos·鸿蒙