鸿蒙原生应用/元服务开发-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官方开发文档整理

相关推荐
SameX38 分钟前
鸿蒙 Next 电商应用安全支付与密码保护实践
前端·harmonyos
SuperHeroWu71 小时前
【HarmonyOS】键盘遮挡输入框UI布局处理
华为·harmonyos·压缩·keyboard·键盘遮挡·抬起
sanzk6 小时前
华为鸿蒙应用开发
华为·harmonyos
SoraLuna10 小时前
「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
macos·ui·harmonyos
ClkLog-开源埋点用户分析11 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos
mg66811 小时前
鸿蒙系统的优势 开发 环境搭建 开发小示例
华为·harmonyos
模拟IC攻城狮12 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
lqj_本人12 小时前
鸿蒙next选择 Flutter 开发跨平台应用的原因
flutter·华为·harmonyos
lqj_本人12 小时前
使用 Flutter 绘制一个棋盘
harmonyos
TangKenny12 小时前
计算网络信号
java·算法·华为