HarmonyOS 如何监听深浅色模式

HarmonyOS
2024-12-26 15:17:14
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

请参考:

onCreate(want: Want, launchParam: AbilityConstant.LaunchParam,) {
  AppStorage.setOrCreate('currentColorMode',this.context.config.colorMode);
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
  let scheme = want.uri?.toString()
  if (scheme?.includes('hotChart')) {
    const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
    router.replaceUrl({
      url: 'pages/TS/List_Sticky' // 目标url
    }, router.RouterMode.Standard, (err) => {
      if (err) {
        console.error(`Invoke replaceUrl failed, code is ${err.code}, message is ${err.message}`);
        return;
      }
      console.info('Invoke replaceUrl succeeded.');
    })
  }
  console.log('MyAbility onCreate')
  let environmentCallback: EnvironmentCallback = {
    onConfigurationUpdated(config){
      AppStorage.setOrCreate('currentColorMode', config.colorMode);
      console.log(`onConfigurationUpdated config: ${JSON.stringify(config)}`);
    },
    onMemoryLevel(level){
      console.log(`onMemoryLevel level: ${level}`);
    }
  };
  // 1.获取applicationContext
  let applicationContext = this.context.getApplicationContext();
  try {
    // 2.通过applicationContext注册监听系统环境变化
    callbackId = applicationContext.on('environment', environmentCallback);
  } catch (paramError) {
    console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
  }
  console.log(`registerEnvironmentCallback callbackId: ${callbackId}`);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
分享
微博
QQ
微信
回复
2024-12-26 17:34:49
相关问题
HarmonyOS 主动设置深浅色模式
847浏览 • 1回复 待解决
HarmonyOS 浅色模式与深色模式
884浏览 • 1回复 待解决
HarmonyOS 如何设置固定浅色模式
594浏览 • 1回复 待解决
app适配深色浅色切换模式
2621浏览 • 1回复 待解决