赞
踩
本文介绍了通过 应用上下文Context 来获取 applicationInfo(当前应用信息)中的 bundleName信息。
首先介绍什么是应用上下文Context
,然后介绍 怎么通过 通过 应用上下文Context 获取 应用bundleName
。
基于OpenHarmony 3.2Release
API9
1.在 程序入口 EntryAbility.ts 中 UIAbility生命周期
的onWindowStageCreate()回调
中 添加
```JS
onWindowStageCreate(windowStage: window.WindowStage) {
...
globalThis.abilityContext = this.context
//用全局对象获取context类的接口
globalThis.context = this.context
...
}
![image.png](https://dl-harmonyos.51cto.com/images/202310/369309a655da11af5e7377f6b0ffd980109d05.png?x-oss-process=image/resize,w_658,h_518)
2.Index.ets中使用 `await globalThis.context.abilityInfo.bundleName` 获取
@Entry
@Component
struct Index {
@State bundleName: string = ''
public async get_bundleName() {
this.bundleName = await globalThis.context.abilityInfo.bundleName
}
//aboutToAppear函数在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。
aboutToAppear() {
this.get_bundleName();
}
build() {
Row() {
Column() {
Blank()
Text(this.bundleName)
.fontSize(25)
.fontWeight(FontWeight.Bold)
Blank()
}
.width('100%')
.height('100%')
}
.height('100%')
}
}
## 3.参考资料
- UIAbility
- https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md
- 实际样例 :[UIAbility和自定义组件生命周期(ArkTS)](https://gitee.com/openharmony/codelabs/tree/master/Ability/UIAbilityLifeCycle)
- Context
- https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/application-models/application-context-stage.md
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。