HarmonyOS 鸿蒙Next BundleInfo和applicationInfo
HarmonyOS 鸿蒙Next BundleInfo和applicationInfo
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION;
let bundleInfo: bundleManager.BundleInfo = bundleManager.getBundleInfoForSelfSync(bundleFlags);
let name1 = bundleInfo.name;
let name2 = bundleInfo.appInfo.name;
let name3 = getContext().applicationInfo.name;
更多关于HarmonyOS 鸿蒙Next BundleInfo和applicationInfo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
三种方式获取的均为包名
包名修改请修改AppScope的app.bundleName属性
name1为获取到的为程序包名,带引号
name2为获取到的为应用程序名称,和包名相同,带引号
name3为获取到的为程序包名,和包名相同,不带引号
ApplicationInfo计划废弃
//以下为测试demo:
import { bundleManager } from '@kit.AbilityKit';
@Entry
@Component
struct Index {
@State message: string = ‘Hello World’;
build() {
<span class="hljs-title class_">Scroll</span>() {
<span class="hljs-title class_">Column</span>() {
<span class="hljs-title class_">Text</span>(<span class="hljs-variable language_">this</span>.<span class="hljs-property">message</span>)
<span class="hljs-comment">//bundleName长度在7到128个字符之间,采用反向域名命名规则,建议第一个标签是顶级域名`com`,第二个标签是供应商或个人名称,第三个标签是应用程序名称, 满足正则"^[a-zA-Z][0-9a-zA-Z_.]+$"</span>
<span class="hljs-comment">// - `[a-zA-Z]` 表示第一个字符必须是任意大小写字母。</span>
<span class="hljs-comment">// - `[0-9a-zA-Z_.]+` 表示接下来的字符可以是数字、字母、下划线或点号,并且至少有一个这样的字符。</span>
<span class="hljs-comment">// - `$` 表示字符串的结束。</span>
<span class="hljs-comment">// 三种方式获取的均为包名</span>
<span class="hljs-comment">// 包名修改请修改AppScope的app.bundleName属性</span>
<span class="hljs-title class_">Button</span>(<span class="hljs-string">"bundleInfo.name"</span>).<span class="hljs-title function_">onClick</span>(<span class="hljs-function">() =></span> {
<span class="hljs-comment">// 获取到的为程序包名,带引号</span>
<span class="hljs-keyword">let</span> bundleFlags = bundleManager.<span class="hljs-property">BundleFlag</span>.<span class="hljs-property">GET_BUNDLE_INFO_WITH_APPLICATION</span>;
<span class="hljs-keyword">let</span> <span class="hljs-attr">bundleInfo</span>: bundleManager.<span class="hljs-property">BundleInfo</span> = bundleManager.<span class="hljs-title function_">getBundleInfoForSelfSync</span>(bundleFlags);
<span class="hljs-variable language_">this</span>.<span class="hljs-property">message</span> = <span class="hljs-title class_">JSON</span>.<span class="hljs-title function_">stringify</span>(bundleInfo.<span class="hljs-property">name</span>)
})
<span class="hljs-title class_">Button</span>(<span class="hljs-string">"bundleInfo.name"</span>).<span class="hljs-title function_">onClick</span>(<span class="hljs-function">() =></span> {
<span class="hljs-comment">// 获取到的为应用程序名称,和包名相同,带引号</span>
<span class="hljs-keyword">let</span> bundleFlags = bundleManager.<span class="hljs-property">BundleFlag</span>.<span class="hljs-property">GET_BUNDLE_INFO_WITH_APPLICATION</span>;
<span class="hljs-keyword">let</span> <span class="hljs-attr">bundleInfo</span>: bundleManager.<span class="hljs-property">BundleInfo</span> = bundleManager.<span class="hljs-title function_">getBundleInfoForSelfSync</span>(bundleFlags);
<span class="hljs-variable language_">this</span>.<span class="hljs-property">message</span> = <span class="hljs-title class_">JSON</span>.<span class="hljs-title function_">stringify</span>(bundleInfo.<span class="hljs-property">appInfo</span>.<span class="hljs-property">name</span>)
})
<span class="hljs-title class_">Button</span>(<span class="hljs-string">"getContext name"</span>).<span class="hljs-title function_">onClick</span>(<span class="hljs-function">() =></span> {
<span class="hljs-comment">// 获取到的为程序包名,不带引号</span>
<span class="hljs-comment">// ApplicationInfo计划废弃</span>
<span class="hljs-variable language_">this</span>.<span class="hljs-property">message</span> = <span class="hljs-title function_">getContext</span>().<span class="hljs-property">applicationInfo</span>.<span class="hljs-property">name</span>;
})
}
}
.<span class="hljs-title function_">height</span>(<span class="hljs-string">'100%'</span>)
.<span class="hljs-title function_">width</span>(<span class="hljs-string">'100%'</span>)
}
}
更多关于HarmonyOS 鸿蒙Next BundleInfo和applicationInfo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中,BundleInfo
和 ApplicationInfo
是两个关键类,它们分别用于描述应用包(Bundle)和应用本身的信息。
BundleInfo
类提供了关于应用包的基本信息,包括但不限于包名、版本、签名等。这个类在鸿蒙系统中用于管理应用的安装、更新以及权限控制等。通过BundleInfo
,系统能够识别不同的应用包,并据此进行一系列的管理操作。
ApplicationInfo
类则更专注于描述应用本身的信息。它包含了应用的启动图标、名称、是否支持调试模式等详细信息。这些信息在应用启动时由系统读取,用于在用户界面上展示应用,以及控制应用的一些运行时行为。
与Android系统类似,鸿蒙系统中的BundleInfo
和ApplicationInfo
也是通过包管理器(PackageManager)进行访问的。开发者可以通过包管理器获取安装在设备上的应用的BundleInfo
和ApplicationInfo
,进而实现应用管理、权限请求等功能。
需要注意的是,鸿蒙系统的API可能会随着版本的更新而有所变化,因此开发者在使用时需要参考最新的官方文档。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html