OpenHarmony开发者论坛
标题:
通过 应用上下文Context 获取 应用bundleName
[打印本页]
作者:
离北况归
时间:
2023-10-17 15:23
标题:
通过 应用上下文Context 获取 应用bundleName
[md]本文介绍了通过 应用上下文Context 来获取 applicationInfo(当前应用信息)中的 bundleName信息。
首先介绍什么是`应用上下文Context`,然后介绍 怎么通过 `通过 应用上下文Context 获取 应用bundleName`。
- 基于OpenHarmony 3.2Release
- API9
---
## 1.什么是 应用上下文Context
- Context是应用中对象的上下文,其提供了应用的一些基础信息,**例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用文件路径)、area(文件分区)等**,以及应用的一些基本方法。
- 详细请参考
https://gitee.com/openharmony/do ... on-context-stage.md
-
https://gitee.com/openharmony/do ... p-ability-common.md
## 2.通过 应用上下文Context 获取 应用bundleName
- 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/i ... rocess=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/do ... bility-uiAbility.md
- 实际样例 :[UIAbility和自定义组件生命周期(ArkTS)](
https://gitee.com/openharmony/co ... /UIAbilityLifeCycle
)
- Context
-
https://gitee.com/openharmony/do ... on-context-stage.md
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5