OpenHarmony应用开发-获取监听应用环境变量配置
前言 在OpenHarmony应用开发中,获取系统环境配置(如系统字体大小、系统屏幕方向、系统语言等)都是常见需求,下文会为大家介绍如何获取并且监听系统及应用的环境变量配置。 开发环境 DevEco Studio: DevEco Studio 5.0.2 Release(Build Version: 5.0.7.200) 系统: OpenHarmony 5.1.0.45 设备: DAYU200(r
·
前言
在OpenHarmony应用开发中,获取系统环境配置(如系统字体大小、系统屏幕方向、系统语言等)都是常见需求,下文会为大家介绍如何获取并且监听系统及应用的环境变量配置。
开发环境
DevEco Studio: DevEco Studio 5.0.2 Release(Build Version: 5.0.7.200)
系统: OpenHarmony 5.1.0.45
设备: DAYU200(rk3568)
获取及监听流程
下文以系统字体大小为例
通过@ohos.app.ability.Configuration获取
可以通过获取UIAbilityContext后直接读取
let fontSizeScale = this.context.config.fontSizeScale
通过@ohos.settings获取
可以通过getValueSync获取key对应的value
let getFontSizeScale = settings.getValueSync(this.context, settings.display.FONT_SCALE, '0');
注意: 想通过getValueSync获取相应的参数,比如保证settings_data里已经包含此参数。有些系统这些参数没有默认值,因此需要手动设置一次后才能正常读取。
通过@ohos.app.ability.Configuration监听
可以通过获取UIAbilityContext后监听
this.context.getApplicationContext().on('environment', {
onConfigurationUpdated(config) {
let fontSizeScale = config.fontSizeScale
},
onMemoryLevel(level) {
}
})
通过@ohos.settings监听
可以通过registerKeyObserver监听settings_data的值变化
settings.registerKeyObserver(this.context, settings.display.FONT_SCALE, settings.domainName.DEVICE_SHARED, (err, val) => {
if (err) {
return;
}
let value: string = settings.getValueSync(this.context, settings.display.FONT_SCALE, '0');
});
参考文献
更多推荐
所有评论(0)