1# @ohos.bundle.bundleManager (bundleManager模块) 2 3本模块提供应用信息查询能力,支持BundleInfo、ApplicationInfo、Ability、ExtensionAbility等信息的查询 4 5> **说明:** 6> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7 8## 导入模块 9 10```ts 11import bundleManager from '@ohos.bundle.bundleManager'; 12``` 13 14## 权限列表 15 16| 权限 | 权限等级 | 描述 | 17| ------------------------------------------ | ------------ | ------------------| 18| ohos.permission.GET_BUNDLE_INFO | normal | 查询指定应用信息。 | 19| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息。 | 20| ohos.permission.REMOVE_CACHE_FILES | system_basic | 清理应用缓存。 | 21|ohos.permission.CHANGE_ABILITY_ENABLED_STATE| system_basic | 设置禁用使能所需的权限。 | 22 23权限等级参考[权限等级说明](../../security/accesstoken-overview.md#权限等级说明)。 24 25## 枚举 26 27### BundleFlag 28 29包信息标志,指示需要获取的包信息的内容。 30 31 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 32 33| 名称 | 值 | 说明 | 34| ----------------------------------------- | ---------- | ------------------------------------------------------------ | 35| GET_BUNDLE_INFO_DEFAULT | 0x00000000 | 用于获取默认bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 | 36| GET_BUNDLE_INFO_WITH_APPLICATION | 0x00000001 | 用于获取包含applicationInfo的bundleInfo,获取的bundleInfo不包含signatureInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 | 37| GET_BUNDLE_INFO_WITH_HAP_MODULE | 0x00000002 | 用于获取包含hapModuleInfo的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、ability、extensionAbility和permission的信息。 | 38| GET_BUNDLE_INFO_WITH_ABILITY | 0x00000004 | 用于获取包含ability的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、extensionAbility和permission的信息。它不能单独使用,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。 | 39| GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY | 0x00000008 | 用于获取包含extensionAbility的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、ability 和permission的信息。它不能单独使用,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。 | 40| GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION | 0x00000010 | 用于获取包含permission的bundleInfo。获取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、extensionAbility和ability的信息。 | 41| GET_BUNDLE_INFO_WITH_METADATA | 0x00000020 | 用于获取applicationInfo、moduleInfo和abilityInfo中包含的metadata。它不能单独使用,它需要与GET_BUNDLE_INFO_WITH_APPLICATION、GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY、GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY一起使用。 | 42| GET_BUNDLE_INFO_WITH_DISABLE | 0x00000040 | 用于获取application被禁用的BundleInfo和被禁用的Ability信息。获取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。 | 43| GET_BUNDLE_INFO_WITH_SIGNATURE_INFO | 0x00000080 | 用于获取包含signatureInfo的bundleInfo。获取的bundleInfo不包含applicationInfo、hapModuleInfo、extensionAbility、ability和permission的信息。 | 44 45### ApplicationFlag 46 47应用信息标志,指示需要获取的应用信息的内容。 48 49 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 50 51 **系统接口:** 系统接口,不支持三方应用调用。 52 53| 名称 | 值 | 说明 | 54| ------------------------------------ | ---------- | ------------------------------------------------------------ | 55| GET_APPLICATION_INFO_DEFAULT | 0x00000000 | 用于获取默认的applicationInfo,获取的applicationInfo不包含permission和metadata信息。 | 56| GET_APPLICATION_INFO_WITH_PERMISSION | 0x00000001 | 用于获取包含permission的applicationInfo。 | 57| GET_APPLICATION_INFO_WITH_METADATA | 0x00000002 | 用于获取包含metadata的applicationInfo。 | 58| GET_APPLICATION_INFO_WITH_DISABLE | 0x00000004 | 用于获取包含禁用应用程序的applicationInfo。 | 59 60### AbilityFlag 61 62Ability组件信息标志,指示需要获取的Ability组件信息的内容。 63 64 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 65 66 **系统接口:** 系统接口,不支持三方应用调用。 67 68| 名称 | 值 | 说明 | 69| --------------------------------- | ---------- | ------------------------------------------------------------ | 70| GET_ABILITY_INFO_DEFAULT | 0x00000000 | 用于获取默认abilityInfo,获取的abilityInfo不包含permission、metadata和禁用的abilityInfo。 | 71| GET_ABILITY_INFO_WITH_PERMISSION | 0x00000001 | 用于获取包含permission的abilityInfo。 | 72| GET_ABILITY_INFO_WITH_APPLICATION | 0x00000002 | 用于获取包含applicationInfo的abilityInfo。 | 73| GET_ABILITY_INFO_WITH_METADATA | 0x00000004 | 用于获取包含metadata的abilityInfo。 | 74| GET_ABILITY_INFO_WITH_DISABLE | 0x00000008 | 用于获取包含禁用的abilityInfo的abilityInfo。 | 75| GET_ABILITY_INFO_ONLY_SYSTEM_APP | 0x00000010 | 用于仅为系统应用程序获取abilityInfo。 | 76 77### ExtensionAbilityFlag 78 79扩展组件信息标志,指示需要获取的扩展组件信息的内容。 80 81 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 82 83 **系统接口:** 系统接口,不支持三方应用调用。 84 85| 名称 | 值 | 说明 | 86| ------------------------------------------- | ---------- | ------------------------------------------------------------ | 87| GET_EXTENSION_ABILITY_INFO_DEFAULT | 0x00000000 | 用于获取默认extensionAbilityInfo。获取的extensionAbilityInfo不包含permission、metadata 和禁用的abilityInfo。 | 88| GET_EXTENSION_ABILITY_INFO_WITH_PERMISSION | 0x00000001 | 用于获取包含permission的extensionAbilityInfo。 | 89| GET_EXTENSION_ABILITY_INFO_WITH_APPLICATION | 0x00000002 | 用于获取包含applicationInfo的extensionAbilityInfo。 | 90| GET_EXTENSION_ABILITY_INFO_WITH_METADATA | 0x00000004 | 用于获取包含metadata的extensionAbilityInfo。 | 91 92### ExtensionAbilityType 93 94指示扩展组件的类型。 95 96 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 97 98| 名称 | 值 | 说明 | 99|:----------------:|:---:|-----| 100| FORM | 0 | [FormExtensionAbility](../../application-models/service-widget-overview.md):卡片扩展能力,提供卡片开发能力。 | 101| WORK_SCHEDULER | 1 | [WorkSchedulerExtensionAbility](../../task-management/work-scheduler-dev-guide.md):延时任务扩展能力,允许应用在系统闲时执行实时性不高的任务。 | 102| INPUT_METHOD | 2 | [InputMethodExtensionAbility](js-apis-inputmethod-extension-ability.md):输入法扩展能力,用于开发输入法应用。 | 103| SERVICE | 3 | [ServiceExtensionAbility](../../application-models/serviceextensionability.md):后台服务扩展能力,提供后台运行并对外提供相应能力。 | 104| ACCESSIBILITY | 4 | [AccessibilityExtensionAbility](js-apis-application-accessibilityExtensionAbility.md):无障碍服务扩展能力,支持访问与操作前台界面。 | 105| DATA_SHARE | 5 | [DataShareExtensionAbility](../../database/share-data-by-datashareextensionability.md):数据共享扩展能力,用于对外提供数据读写服务。 | 106| FILE_SHARE | 6 | FileShareExtensionAbility:文件共享扩展能力,用于应用间的文件分享。预留能力,当前暂未支持。 | 107| STATIC_SUBSCRIBER| 7 | [StaticSubscriberExtensionAbility](js-apis-application-staticSubscriberExtensionAbility.md):静态广播扩展能力,用于处理静态事件,比如开机事件。 | 108| WALLPAPER | 8 | WallpaperExtensionAbility:壁纸扩展能力,用于实现桌面壁纸。预留能力,当前暂未支持。 | 109| BACKUP | 9 | BackupExtensionAbility:数据备份扩展能力,提供应用数据和公共数据备份回复能力。预留能力,当前暂未支持。 | 110| WINDOW | 10 | [WindowExtensionAbility](js-apis-application-windowExtensionAbility.md):界面组合扩展能力,允许系统应用进行跨应用的界面拉起和嵌入。 | 111| ENTERPRISE_ADMIN | 11 | [EnterpriseAdminExtensionAbility](js-apis-EnterpriseAdminExtensionAbility.md):企业设备管理扩展能力,提供企业管理时处理管理事件的能力,比如设备上应用安装事件、锁屏密码输入错误次数过多事件等。 | 112| THUMBNAIL | 13 | ThumbnailExtensionAbility:文件缩略图扩展能力,用于为文件提供图标缩略图的能力。预留能力,当前暂未支持。 | 113| PREVIEW | 14 | PreviewExtensionAbility:文件预览扩展能力,提供文件预览的能力,其他应用可以直接在应用中嵌入显示。预留能力,当前暂未支持。 | 114| UNSPECIFIED | 255 | 不指定类型,配合queryExtensionAbilityInfo接口可以查询所有类型的ExtensionAbility。 | 115 116 117### PermissionGrantState 118 119指示权限授予状态。 120 121 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 122 123| 名称 | 值 | 说明 | 124|:----------------:|:---:|:---:| 125| PERMISSION_DENIED| -1 | 拒绝授予权限。 | 126| PERMISSION_GRANTED | 0 | 授予权限。 | 127 128### SupportWindowMode 129 130标识该组件所支持的窗口模式。 131 132 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 133 134| 名称 | 值 | 说明 | 135|:----------------:|:---:|:---:| 136| FULL_SCREEN | 0 | 窗口支持全屏显示。 | 137| SPLIT | 1 | 窗口支持分屏显示。 | 138| FLOATING | 2 | 支持窗口化显示。 | 139 140### LaunchType 141 142指示组件的启动方式。 143 144 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 145 146| 名称 | 值 | 说明 | 147|:----------------:|:---:|:---:| 148| SINGLETON | 0 | ability的启动模式,表示单实例。 | 149| MULTITON | 1 | ability的启动模式,表示普通多实例。 | 150| SPECIFIED | 2 | ability的启动模式,表示该ability内部根据业务自己置顶多实例。 | 151 152### AbilityType 153 154指示Ability组件的类型。 155 156 **模型约束:** 仅可在FA模型下使用 157 158 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 159 160| 名称 | 值 | 说明 | 161| :-----: | ---- | :--------------------------------------------------------: | 162| PAGE | 1 | 表示基于Page模板开发的FA,用于提供与用户交互的能力。 | 163| SERVICE | 2 | 表示基于Service模板开发的PA,用于提供后台运行任务的能力。 | 164| DATA | 3 | 表示基于Data模板开发的PA,用于对外部提供统一的数据访问对象。 | 165 166### DisplayOrientation 167 168标识该Ability的显示模式。该标签仅适用于page类型的Ability。 169 170 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。 171 172| 名称 |值 |说明 | 173|:----------------------------------|---|---| 174| UNSPECIFIED |0 |表示未定义方向模式,由系统判定。 | 175| LANDSCAPE |1 |表示横屏显示模式。 | 176| PORTRAIT |2 |表示竖屏显示模式。 | 177| FOLLOW_RECENT |3 |表示跟随上一个显示模式。 | 178| LANDSCAPE_INVERTED |4 |表示反向横屏显示模式。 | 179| PORTRAIT_INVERTED |5 |表示反向竖屏显示模式。 | 180| AUTO_ROTATION |6 |表示传感器自动旋转模式。 | 181| AUTO_ROTATION_LANDSCAPE |7 |表示传感器自动横向旋转模式。 | 182| AUTO_ROTATION_PORTRAIT |8 |表示传感器自动竖向旋转模式。 | 183| AUTO_ROTATION_RESTRICTED |9 |表示受开关控制的自动旋转模式。 | 184| AUTO_ROTATION_LANDSCAPE_RESTRICTED |10|表述受开关控制的自动横向旋转模式。| 185| AUTO_ROTATION_PORTRAIT_RESTRICTED |11|表示受开关控制的自动竖向旋转模式。| 186| LOCKED |12|表示锁定模式。| 187 188### ModuleType 189 190标识模块类型。 191 192 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core 193 194| 名称 | 值 | 说明 | 195| ------- | ---- | -------------------- | 196| ENTRY | 1 | 应用的主模块。 | 197| FEATURE | 2 | 应用的动态特性模块。 | 198| SHARED | 3 | 应用的动态共享库模块。 | 199 200### BundleType 201 202标识应用的类型。 203 204 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core 205 206| 名称 | 值 | 说明 | 207| -------------- | ---- | --------------- | 208| APP | 0 | 该Bundle是普通应用程序。 | 209| ATOMIC_SERVICE | 1 | 该Bundle是原子化服务。 | 210 211## 接口 212 213### bundleManager.getBundleInfoForSelf 214 215getBundleInfoForSelf(bundleFlags: [number](#bundleflag)): Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>; 216 217以异步方法根据给定的bundleFlags获取当前应用的BundleInfo,使用Promise形式返回结果。 218 219**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 220 221**参数:** 222 223| 参数名 | 类型 | 必填 | 说明 | 224| ----------- | ------ | ---- | --------------------- | 225| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 226 227**返回值:** 228 229| 类型 | 说明 | 230| ----------------------------------------------------------- | ------------------------------------- | 231| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回当前应用的BundleInfo。| 232 233**示例:** 234 235```ts 236import bundleManager from '@ohos.bundle.bundleManager'; 237import hilog from '@ohos.hilog'; 238let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 239try { 240 bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => { 241 hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data)); 242 }).catch(err => { 243 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message); 244 }); 245} catch (err) { 246 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message); 247} 248``` 249 250### bundleManager.getBundleInfoForSelf 251 252getBundleInfoForSelf(bundleFlags: [number](#bundleflag), callback: AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>): void; 253 254以异步方法根据给定的bundleFlags获取当前应用的BundleInfo,使用callback形式返回结果。 255 256**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 257 258**参数:** 259 260| 参数名 | 类型 | 必填 | 说明 | 261| ----------- | ------ | ---- | --------------------- | 262| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 263| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的当前应用的BundleInfo;否则为错误对象。 | 264 265**示例:** 266 267```ts 268import bundleManager from '@ohos.bundle.bundleManager'; 269import hilog from '@ohos.hilog'; 270let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 271 272try { 273 bundleManager.getBundleInfoForSelf(bundleFlags, (err, data) => { 274 if (err) { 275 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message); 276 } else { 277 hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully: %{public}s', JSON.stringify(data)); 278 } 279 }); 280} catch (err) { 281 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message); 282} 283``` 284 285### bundleManager.getBundleInfo 286 287getBundleInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback\<BundleInfo>): void; 288 289以异步方法根据给定的bundleName、bundleFlags和userId获取BundleInfo,使用callback形式返回结果。 290 291获取调用方自己的信息时不需要权限。 292 293**系统接口:** 此接口为系统接口。 294 295**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 296 297**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 298 299**参数:** 300 301| 参数名 | 类型 | 必填 | 说明 | 302| ----------- | ------ | ---- | ---------------------------- | 303| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 304| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。| 305| userId | number | 是 | 表示用户ID。 | 306| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的bundleInfo;否则为错误对象。 | 307 308**错误码:** 309 310以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 311 312| 错误码ID | 错误信息 | 313| -------- | ------------------------------------- | 314| 17700001 | The specified bundleName is not found. | 315| 17700004 | The specified user ID is not found. | 316| 17700026 | The specified bundle is disabled. | 317 318**示例:** 319 320```ts 321// 额外获取AbilityInfo 322import bundleManager from '@ohos.bundle.bundleManager'; 323import hilog from '@ohos.hilog'; 324let bundleName = 'com.example.myapplication'; 325let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_ABILITY; 326let userId = 100; 327 328try { 329 bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => { 330 if (err) { 331 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 332 } else { 333 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 334 } 335 }); 336} catch (err) { 337 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 338} 339``` 340 341```ts 342// 额外获取ApplicationInfo中的metadata 343import bundleManager from '@ohos.bundle.bundleManager'; 344import hilog from '@ohos.hilog'; 345let bundleName = 'com.example.myapplication'; 346let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA; 347let userId = 100; 348 349try { 350 bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => { 351 if (err) { 352 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 353 } else { 354 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 355 } 356 }); 357} catch (err) { 358 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 359} 360``` 361 362### bundleManager.getBundleInfo 363 364getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>): void; 365 366以异步方法根据给定的bundleName和bundleFlags获取BundleInfo,使用callback形式返回结果。 367 368获取调用方自己的信息时不需要权限。 369 370**系统接口:** 此接口为系统接口。 371 372**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 373 374**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 375 376**参数:** 377 378| 参数名 | 类型 | 必填 | 说明 | 379| ----------- | ------ | ---- | ---------------------------- | 380| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 381| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。| 382| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的BundleInfo;否则为错误对象。 | 383 384**错误码:** 385 386以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 387 388| 错误码ID | 错误信息 | 389| -------- | ------------------------------------- | 390| 17700001 | The specified bundleName is not found. | 391| 17700026 | The specified bundle is disabled. | 392 393**示例:** 394 395```ts 396// 额外获取extensionAbility 397import bundleManager from '@ohos.bundle.bundleManager'; 398import hilog from '@ohos.hilog'; 399let bundleName = 'com.example.myapplication'; 400let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY; 401 402try { 403 bundleManager.getBundleInfo(bundleName, bundleFlags, (err, data) => { 404 if (err) { 405 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 406 } else { 407 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 408 } 409 }); 410} catch (err) { 411 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 412} 413``` 414 415### bundleManager.getBundleInfo 416 417getBundleInfo(bundleName: string, bundleFlags: [number](#bundleflag), userId?: number): Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>; 418 419以异步方法根据给定的bundleName、bundleFlags和userId获取BundleInfo,使用Promise形式返回结果。 420 421获取调用方自己的信息时不需要权限。 422 423**系统接口:** 此接口为系统接口。 424 425**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 426 427**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 428 429**参数:** 430 431| 参数名 | 类型 | 必填 | 说明 | 432| ----------- | ------ | ---- | ---------------------------- | 433| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 434| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 435| userId | number | 否 | 表示用户ID。 | 436 437**返回值:** 438 439| 类型 | 说明 | 440| ----------------------------------------------------------- | --------------------------- | 441| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回BundleInfo。 | 442 443**错误码:** 444 445以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 446 447| 错误码ID | 错误信息 | 448| -------- | --------------------------------------| 449| 17700001 | The specified bundleName is not found. | 450| 17700004 | The specified user ID is not found. | 451| 17700026 | The specified bundle is disabled. | 452 453**示例:** 454 455```ts 456// 额外获取ApplicationInfo和SignatureInfo 457import bundleManager from '@ohos.bundle.bundleManager'; 458import hilog from '@ohos.hilog'; 459let bundleName = 'com.example.myapplication'; 460let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO; 461let userId = 100; 462 463try { 464 bundleManager.getBundleInfo(bundleName, bundleFlags, userId).then((data) => { 465 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data)); 466 }).catch(err => { 467 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 468 }); 469} catch (err) { 470 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 471} 472``` 473 474```ts 475import bundleManager from '@ohos.bundle.bundleManager'; 476import hilog from '@ohos.hilog'; 477let bundleName = 'com.example.myapplication'; 478let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 479 480try { 481 bundleManager.getBundleInfo(bundleName, bundleFlags).then((data) => { 482 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data)); 483 }).catch(err => { 484 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 485 }); 486} catch (err) { 487 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 488} 489 490``` 491 492### bundleManager.getApplicationInfo 493 494getApplicationInfo(bundleName: string, appFlags: [number](#applicationflag), userId: number, callback: AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>): void; 495 496以异步方法根据给定的bundleName、appFlags和userId获取ApplicationInfo,使用callback形式返回结果。 497 498获取调用方自己的信息时不需要权限。 499 500**系统接口:** 此接口为系统接口。 501 502**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 503 504**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 505 506**参数:** 507 508| 参数名 | 类型 | 必填 | 说明 | 509| ---------- | ------ | ---- | ---------------------------- | 510| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 511| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 512| userId | number | 是 | 表示用户ID。 | 513| callback | AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的ApplicationInfo;否则为错误对象。 | 514 515**错误码:** 516 517以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 518 519| 错误码ID | 错误信息 | 520| -------- | --------------------------------------| 521| 17700001 | The specified bundleName is not found. | 522| 17700004 | The specified user ID is not found. | 523| 17700026 | The specified bundle is disabled. | 524 525**示例:** 526 527```ts 528import bundleManager from '@ohos.bundle.bundleManager'; 529import hilog from '@ohos.hilog'; 530let bundleName = 'com.example.myapplication'; 531let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 532let userId = 100; 533 534try { 535 bundleManager.getApplicationInfo(bundleName, appFlags, userId, (err, data) => { 536 if (err) { 537 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message); 538 } else { 539 hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully: %{public}s', JSON.stringify(data)); 540 } 541 }); 542} catch (err) { 543 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message); 544} 545``` 546 547### bundleManager.getApplicationInfo 548 549getApplicationInfo(bundleName: string, appFlags: [number](#applicationflag), callback: AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>): void; 550 551以异步方法根据给定的bundleName和appFlags获取ApplicationInfo,使用callback形式返回结果。 552 553获取调用方自己的信息时不需要权限。 554 555**系统接口:** 此接口为系统接口。 556 557**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 558 559**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 560 561**参数:** 562 563| 参数名 | 类型 | 必填 | 说明 | 564| ---------- | ------ | ---- | ---------------------------- | 565| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 566| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 567| callback | AsyncCallback\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的ApplicationInfo;否则为错误对象。 | 568 569**错误码:** 570 571以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 572 573| 错误码ID | 错误信息 | 574| -------- | --------------------------------------| 575| 17700001 | The specified bundleName is not found. | 576| 17700026 | The specified bundle is disabled. | 577 578**示例:** 579 580```ts 581import bundleManager from '@ohos.bundle.bundleManager'; 582import hilog from '@ohos.hilog'; 583let bundleName = 'com.example.myapplication'; 584let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_WITH_PERMISSION; 585 586try { 587 bundleManager.getApplicationInfo(bundleName, appFlags, (err, data) => { 588 if (err) { 589 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message); 590 } else { 591 hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully: %{public}s', JSON.stringify(data)); 592 } 593 }); 594} catch (err) { 595 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed: %{public}s', err.message); 596} 597``` 598 599### bundleManager.getApplicationInfo 600 601getApplicationInfo(bundleName: string, appFlags: [number](#applicationflag), userId?: number): Promise\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>; 602 603以异步方法根据给定的bundleName、appFlags和userId获取ApplicationInfo,使用Promise形式返回结果。 604 605获取调用方自己的信息时不需要权限。 606 607**系统接口:** 此接口为系统接口。 608 609**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 610 611**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 612 613**参数:** 614 615| 参数名 | 类型 | 必填 | 说明 | 616| ---------- | ------ | ---- | ---------------------------- | 617| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 618| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 619| userId | number | 否 | 表示用户ID。 | 620 621**返回值:** 622 623| 类型 | 说明 | 624| ------------------------------------------------------------ | -------------------------------- | 625| Promise\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)> | Promise对象,返回ApplicationInfo。 | 626 627**错误码:** 628 629以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 630 631| 错误码ID | 错误信息 | 632| -------- | ------------------------------------- | 633| 17700001 | The specified bundleName is not found. | 634| 17700004 | The specified user ID is not found. | 635| 17700026 | The specified bundle is disabled. | 636 637**示例:** 638 639```ts 640import bundleManager from '@ohos.bundle.bundleManager'; 641import hilog from '@ohos.hilog'; 642let bundleName = 'com.example.myapplication'; 643let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_WITH_PERMISSION; 644let userId = 100; 645 646try { 647 bundleManager.getApplicationInfo(bundleName, appFlags, userId).then((data) => { 648 hilog.info(0x0000, 'testTag', 'getApplicationInfo successfully. Data: %{public}s', JSON.stringify(data)); 649 }).catch(err => { 650 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed. Cause: %{public}s', err.message); 651 }); 652} catch (err) { 653 hilog.error(0x0000, 'testTag', 'getApplicationInfo failed. Cause: %{public}s', err.message); 654} 655``` 656 657### bundleManager.getAllBundleInfo 658 659getAllBundleInfo(bundleFlags: [number](#bundleflag), userId: number, callback: AsyncCallback<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>>): void; 660 661以异步方法根据给定的bundleFlags和userId获取系统中所有的BundleInfo,使用callback形式返回结果。 662 663**系统接口:** 此接口为系统接口。 664 665**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 666 667**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 668 669**参数:** 670 671| 参数名 | 类型 | 必填 | 说明 | 672| ----------- | ------ | ---- | -------------------------------------------------- | 673| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 674| userId | number | 是 | 表示用户ID。 | 675| callback | AsyncCallback<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<BundleInfo>;否则为错误对象。 | 676 677**错误码:** 678 679以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 680 681| 错误码ID | 错误信息 | 682| -------- | --------------------------------- | 683| 17700004 | The specified user ID is not found. | 684 685**示例:** 686 687```ts 688import bundleManager from '@ohos.bundle.bundleManager'; 689import hilog from '@ohos.hilog'; 690let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 691let userId = 100; 692 693try { 694 bundleManager.getAllBundleInfo(bundleFlags, userId, (err, data) => { 695 if (err) { 696 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message); 697 } else { 698 hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully: %{public}s', JSON.stringify(data)); 699 } 700 }); 701} catch (err) { 702 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message); 703} 704``` 705 706### bundleManager.getAllBundleInfo 707 708getAllBundleInfo(bundleFlags: [number](#bundleflag), callback: AsyncCallback<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>>): void; 709 710以异步方法根据给定的bundleFlags获取系统中所有的BundleInfo,使用callback形式返回结果。 711 712**系统接口:** 此接口为系统接口。 713 714**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 715 716**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 717 718**参数:** 719 720| 参数名 | 类型 | 必填 | 说明 | 721| ----------- | ------ | ---- | -------------------------------------------------- | 722| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 723| callback | AsyncCallback<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<BundleInfo>;否则为错误对象。 | 724 725**示例:** 726 727```ts 728import bundleManager from '@ohos.bundle.bundleManager'; 729import hilog from '@ohos.hilog'; 730let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 731 732try { 733 bundleManager.getAllBundleInfo(bundleFlags, (err, data) => { 734 if (err) { 735 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message); 736 } else { 737 hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully: %{public}s', JSON.stringify(data)); 738 } 739 }); 740} catch (err) { 741 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed: %{public}s', err.message); 742} 743``` 744 745### bundleManager.getAllBundleInfo 746 747getAllBundleInfo(bundleFlags: [number](#bundleflag), userId?: number): Promise<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>>; 748 749以异步方法根据给定的bundleFlags和userId获取系统中所有的BundleInfo,使用Promise形式返回结果。 750 751**系统接口:** 此接口为系统接口。 752 753**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 754 755**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 756 757**参数:** 758 759| 参数名 | 类型 | 必填 | 说明 | 760| ----------- | ------ | ---- | -------------------------------------------------- | 761| bundleFlags | [number](#bundleflag) | 是 | 指定返回的BundleInfo所包含的信息。 | 762| userId | number | 否 | 表示用户ID。 | 763 764**返回值:** 765 766| 类型 | 说明 | 767| ------------------------------------------------------------ | ----------------------------------- | 768| Promise<Array\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>> | Promise对象,返回Array\<BundleInfo>。 | 769 770**错误码:** 771 772以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 773 774| 错误码ID | 错误信息 | 775| -------- | ---------------------------------- | 776| 17700004 | The specified user ID is not found. | 777 778**示例:** 779 780```ts 781import bundleManager from '@ohos.bundle.bundleManager'; 782import hilog from '@ohos.hilog'; 783let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 784 785try { 786 bundleManager.getAllBundleInfo(bundleFlags).then((data) => { 787 hilog.info(0x0000, 'testTag', 'getAllBundleInfo successfully. Data: %{public}s', JSON.stringify(data)); 788 }).catch(err => { 789 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed. Cause: %{public}s', err.message); 790 }); 791} catch (err) { 792 hilog.error(0x0000, 'testTag', 'getAllBundleInfo failed. Cause: %{public}s', err.message); 793} 794``` 795 796### bundleManager.getAllApplicationInfo 797 798getAllApplicationInfo(appFlags: [number](#applicationflag), userId: number, callback: AsyncCallback<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>>): void; 799 800以异步方法根据给定的appFlags和userId获取系统中所有的ApplicationInfo,使用callback形式返回结果。 801 802**系统接口:** 此接口为系统接口。 803 804**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 805 806**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 807 808**参数:** 809 810| 参数名 | 类型 | 必填 | 说明 | 811| -------- | ------ | ---- | ----------------------------------------------------------- | 812| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 813| userId | number | 是 | 表示用户ID。 | 814| callback | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<ApplicationInfo>;否则为错误对象。 | 815 816**错误码:** 817 818以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 819 820| 错误码ID | 错误信息 | 821| -------- | ---------------------------------- | 822| 17700004 | The specified user ID is not found. | 823 824**示例:** 825 826```ts 827import bundleManager from '@ohos.bundle.bundleManager'; 828import hilog from '@ohos.hilog'; 829let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 830let userId = 100; 831 832try { 833 bundleManager.getAllApplicationInfo(appFlags, userId, (err, data) => { 834 if (err) { 835 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message); 836 } else { 837 hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully: %{public}s', JSON.stringify(data)); 838 } 839 }); 840} catch (err) { 841 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message); 842} 843``` 844 845### bundleManager.getAllApplicationInfo 846 847getAllApplicationInfo(appFlags: [number](#applicationflag), callback: AsyncCallback<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>>): void; 848 849以异步方法根据给定的appFlags获取系统中所有的ApplicationInfo,使用callback形式返回结果。 850 851**系统接口:** 此接口为系统接口。 852 853**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 854 855**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 856 857**参数:** 858 859| 参数名 | 类型 | 必填 | 说明 | 860| -------- | ------ | ---- | ----------------------------------------------------------- | 861| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 862| callback | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<ApplicationInfo>;否则为错误对象。 | 863 864**示例:** 865 866```ts 867import bundleManager from '@ohos.bundle.bundleManager'; 868import hilog from '@ohos.hilog'; 869let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 870 871try { 872 bundleManager.getAllApplicationInfo(appFlags, (err, data) => { 873 if (err) { 874 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message); 875 } else { 876 hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully: %{public}s', JSON.stringify(data)); 877 } 878 }); 879} catch (err) { 880 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message); 881} 882``` 883 884### bundleManager.getAllApplicationInfo 885 886getAllApplicationInfo(appFlags: [number](#applicationflag), userId?: number): Promise<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>>; 887 888以异步方法根据给定的appFlags和userId获取系统中所有的ApplicationInfo,使用Promise形式返回结果。 889 890**系统接口:** 此接口为系统接口。 891 892**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 893 894**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 895 896**参数:** 897 898| 参数名 | 类型 | 必填 | 说明 | 899| -------- | ------ | ---- | ---------------------------------------------------------- | 900| appFlags | [number](#applicationflag) | 是 | 指定返回的ApplicationInfo所包含的信息。 | 901| userId | number | 否 | 表示用户ID。 | 902 903**返回值:** 904 905| 类型 | 说明 | 906| ------------------------------------------------------------ | ---------------------------------------- | 907| Promise<Array\<[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)>> | Promise对象,返回Array\<ApplicationInfo>。 | 908 909**错误码:** 910 911以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 912 913| 错误码ID | 错误信息 | 914| -------- | ---------------------------------- | 915| 17700004 | The specified user ID is not found. | 916 917**示例:** 918 919```ts 920import bundleManager from '@ohos.bundle.bundleManager'; 921import hilog from '@ohos.hilog'; 922let appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 923 924try { 925 bundleManager.getAllApplicationInfo(appFlags).then((data) => { 926 hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully. Data: %{public}s', JSON.stringify(data)); 927 }).catch(err => { 928 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed. Cause: %{public}s', err.message); 929 }); 930} catch (err) { 931 hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed. Cause: %{public}s', err.message); 932} 933 934``` 935 936### bundleManager.queryAbilityInfo 937 938queryAbilityInfo(want: Want, abilityFlags: [number](#abilityflag), userId: number, callback: AsyncCallback<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>>): void; 939 940以异步方法根据给定的want、abilityFlags和userId获取多个AbilityInfo,使用callback形式返回结果。 941 942**系统接口:** 此接口为系统接口。 943 944**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 945 946**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 947 948**参数:** 949 950| 参数名 | 类型 | 必填 | 说明 | 951| ------------ | ------ | ---- | ------------------------------------------------------- | 952| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 953| abilityFlags | [number](#abilityflag) | 是 | 指定返回的AbilityInfo所包含的信息。 | 954| userId | number | 是 | 表示用户ID。 | 955| callback | AsyncCallback<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<AbilityInfo>;否则为错误对象。 | 956 957**错误码:** 958 959以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 960 961| 错误码ID | 错误信息 | 962| -------- | -------------------------------------- | 963| 17700001 | The specified bundleName is not found. | 964| 17700003 | The specified ability is not found. | 965| 17700004 | The specified userId is invalid. | 966| 17700026 | The specified bundle is disabled. | 967| 17700029 | The specified ability is disabled. | 968 969**示例:** 970 971```ts 972import bundleManager from '@ohos.bundle.bundleManager'; 973import hilog from '@ohos.hilog'; 974let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 975let userId = 100; 976let want = { 977 bundleName : "com.example.myapplication", 978 abilityName : "com.example.myapplication.MainAbility" 979}; 980 981try { 982 bundleManager.queryAbilityInfo(want, abilityFlags, userId, (err, data) => { 983 if (err) { 984 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message); 985 } else { 986 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully: %{public}s', JSON.stringify(data)); 987 } 988 }); 989} catch (err) { 990 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message); 991} 992``` 993 994### bundleManager.queryAbilityInfo 995 996queryAbilityInfo(want: Want, abilityFlags: [number](#abilityflag), callback: AsyncCallback<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>>): void; 997 998以异步方法根据给定的want和abilityFlags获取一个或多个AbilityInfo,使用callback形式返回结果。 999 1000**系统接口:** 此接口为系统接口。 1001 1002**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1003 1004**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1005 1006**参数:** 1007 1008| 参数名 | 类型 | 必填 | 说明 | 1009| ------------ | ------ | ---- | -------------------------------------------------------| 1010| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 1011| abilityFlags | [number](#abilityflag) | 是 | 指定返回的AbilityInfo所包含的信息。 | 1012| callback | AsyncCallback<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<AbilityInfo>;否则为错误对象。 | 1013 1014**错误码:** 1015 1016以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1017 1018| 错误码ID | 错误信息 | 1019| -------- | -------------------------------------- | 1020| 17700001 | The specified bundleName is not found. | 1021| 17700003 | The specified ability is not found. | 1022| 17700026 | The specified bundle is disabled. | 1023| 17700029 | The specified ability is disabled. | 1024 1025**示例:** 1026 1027```ts 1028import bundleManager from '@ohos.bundle.bundleManager'; 1029import hilog from '@ohos.hilog'; 1030let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1031let want = { 1032 bundleName : "com.example.myapplication", 1033 abilityName : "com.example.myapplication.MainAbility" 1034}; 1035 1036try { 1037 bundleManager.queryAbilityInfo(want, abilityFlags, (err, data) => { 1038 if (err) { 1039 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message); 1040 } else { 1041 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully: %{public}s', JSON.stringify(data)); 1042 } 1043 }); 1044} catch (err) { 1045 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed: %{public}s', err.message); 1046} 1047``` 1048 1049### bundleManager.queryAbilityInfo 1050 1051queryAbilityInfo(want: Want, abilityFlags: [number](#abilityflag), userId?: number): Promise<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>>; 1052 1053以异步方法根据给定的want、abilityFlags和userId获取一个或多个AbilityInfo,使用Promise形式返回结果。 1054 1055**系统接口:** 此接口为系统接口。 1056 1057**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1058 1059**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1060 1061**参数:** 1062 1063| 参数名 | 类型 | 必填 | 说明 | 1064| ------------ | ------ | ---- | ------------------------------------------------------- | 1065| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 1066| abilityFlags | [number](#abilityflag) | 是 | 表示指定返回的AbilityInfo所包含的信息。 | 1067| userId | number | 否 | 表示用户ID。 | 1068 1069**返回值:** 1070 1071| 类型 | 说明 | 1072| ------------------------------------------------------------ | ------------------------------------ | 1073| Promise<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>> | Promise对象,返回Array\<AbilityInfo>。 | 1074 1075**错误码:** 1076 1077以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1078 1079| 错误码ID | 错误信息 | 1080| -------- | ------------------------------------- | 1081| 17700001 | The specified bundleName is not found. | 1082| 17700003 | The specified ability is not found. | 1083| 17700004 | The specified userId is invalid. | 1084| 17700026 | The specified bundle is disabled. | 1085| 17700029 | The specified ability is disabled. | 1086 1087**示例:** 1088 1089```ts 1090import bundleManager from '@ohos.bundle.bundleManager'; 1091import hilog from '@ohos.hilog'; 1092let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1093let userId = 100; 1094let want = { 1095 bundleName : "com.example.myapplication", 1096 abilityName : "com.example.myapplication.MainAbility" 1097}; 1098 1099try { 1100 bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((data) => { 1101 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(data)); 1102 }).catch(err => { 1103 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1104 }); 1105} catch (err) { 1106 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1107} 1108``` 1109 1110```ts 1111import bundleManager from '@ohos.bundle.bundleManager'; 1112import hilog from '@ohos.hilog'; 1113let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1114let want = { 1115 bundleName : "com.example.myapplication", 1116 abilityName : "com.example.myapplication.MainAbility" 1117}; 1118 1119try { 1120 bundleManager.queryAbilityInfo(want, abilityFlags).then((data) => { 1121 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(data)); 1122 }).catch(err => { 1123 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1124 }) 1125} catch (err) { 1126 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1127} 1128``` 1129 1130### bundleManager.queryExtensionAbilityInfo 1131 1132queryExtensionAbilityInfo(want: Want, extensionAbilityType: [ExtensionAbilityType](#extensionabilitytype), extensionAbilityFlags: [number](#extensionabilityflag), userId: number, callback: AsyncCallback<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>>): void; 1133 1134以异步方法根据给定的want、extensionAbilityType、extensionAbilityFlags和userId获取一个或多个ExtensionAbilityInfo,使用callback形式返回结果。 1135 1136**系统接口:** 此接口为系统接口。 1137 1138**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1139 1140**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1141 1142**参数:** 1143 1144| 参数名 | 类型 | 必填 | 说明 | 1145| --------------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 1146| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 1147| extensionAbilityType | [ExtensionAbilityType](#extensionabilitytype) | 是 | 标识extensionAbility的类型。 | 1148| extensionAbilityFlags | [number](#extensionabilityflag) | 是 | 表示用于指定将返回的ExtensionInfo对象中包含的信息的标志。 | 1149| userId | number | 是 | 表示用户ID。 | 1150| callback | AsyncCallback<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到Array\<ExtensionAbilityInfo>;否则为错误对象。 | 1151 1152**错误码:** 1153 1154以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1155 1156| 错误码ID | 错误信息 | 1157| -------- | ------------------------------------------- | 1158| 17700001 | The specified bundleName is not found. | 1159| 17700003 | The specified extensionAbility is not found. | 1160| 17700004 | The specified userId is invalid. | 1161| 17700026 | The specified bundle is disabled. | 1162 1163**示例:** 1164 1165```ts 1166import bundleManager from '@ohos.bundle.bundleManager'; 1167import hilog from '@ohos.hilog'; 1168let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM; 1169let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT; 1170let userId = 100; 1171let want = { 1172 bundleName : "com.example.myapplication", 1173 abilityName : "com.example.myapplication.MainAbility" 1174}; 1175 1176try { 1177 bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, userId, (err, data) => { 1178 if (err) { 1179 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message); 1180 } else { 1181 hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully: %{public}s', JSON.stringify(data)); 1182 } 1183 }); 1184} catch (err) { 1185 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message); 1186} 1187``` 1188 1189### bundleManager.queryExtensionAbilityInfo 1190 1191queryExtensionAbilityInfo(want: Want, extensionAbilityType: [ExtensionAbilityType](#extensionabilitytype), extensionAbilityFlags: [number](#extensionabilityflag), callback: AsyncCallback<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>>): void; 1192 1193以异步方法根据给定的want、extensionAbilityType和extensionAbilityFlags获取一个或多个ExtensionAbilityInfo,使用callback形式返回结果。 1194 1195**系统接口:** 此接口为系统接口。 1196 1197**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1198 1199**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1200 1201**参数:** 1202 1203| 参数名 | 类型 | 必填 | 说明 | 1204| --------------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 1205| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 1206| extensionAbilityType | [ExtensionAbilityType](#extensionabilitytype) | 是 | 标识extensionAbility的类型。 | 1207| extensionAbilityFlags | [number](#extensionabilityflag) | 是 | 表示用于指定将返回的ExtensionInfo对象中包含的信息的标志。 | 1208| callback | AsyncCallback<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到Array\<ExtensionAbilityInfo>;否则为错误对象。 | 1209 1210**错误码:** 1211 1212以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1213 1214| 错误码ID | 错误信息 | 1215| -------- | -------------------------------------------- | 1216| 17700001 | The specified bundleName is not found. | 1217| 17700003 | The specified extensionAbility is not found. | 1218| 17700026 | The specified bundle is disabled. | 1219 1220**示例:** 1221 1222```ts 1223import bundleManager from '@ohos.bundle.bundleManager'; 1224import hilog from '@ohos.hilog'; 1225let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM; 1226let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT; 1227let want = { 1228 bundleName : "com.example.myapplication", 1229 abilityName : "com.example.myapplication.MainAbility" 1230}; 1231 1232try { 1233 bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, (err, data) => { 1234 if (err) { 1235 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message); 1236 } else { 1237 hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully: %{public}s', JSON.stringify(data)); 1238 } 1239 }); 1240} catch (err) { 1241 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed: %{public}s', err.message); 1242} 1243``` 1244 1245### bundleManager.queryExtensionAbilityInfo 1246 1247queryExtensionAbilityInfo(want: Want, extensionAbilityType: [ExtensionAbilityType](#extensionabilitytype), extensionAbilityFlags: [number](#extensionabilityflag), userId?: number): Promise<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>>; 1248 1249以异步方法根据给定的want、extensionAbilityType、extensionAbilityFlags和userId获取ExtensionAbilityInfo,使用Promise形式返回结果。 1250 1251**系统接口:** 此接口为系统接口。 1252 1253**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1254 1255**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1256 1257**参数:** 1258 1259| 参数名 | 类型 | 必填 | 说明 | 1260| --------------------- | --------------------------------------------- | ---- | --------------------------------------------------------- | 1261| want | Want | 是 | 表示包含要查询的应用Bundle名称的Want。 | 1262| extensionAbilityType | [ExtensionAbilityType](#extensionabilitytype) | 是 | 标识extensionAbility的类型。 | 1263| extensionAbilityFlags | [number](#extensionabilityflag) | 是 | 表示用于指定将返回的ExtensionInfo对象中包含的信息的标志。 | 1264| userId | number | 否 | 表示用户ID。 | 1265 1266**返回值:** 1267 1268| 类型 | 说明 | 1269| ------------------------------------------------------------ | --------------------------------------------- | 1270| Promise<Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)>> | Promise对象,返回Array\<ExtensionAbilityInfo>。 | 1271 1272**错误码:** 1273 1274以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1275 1276| 错误码ID | 错误信息 | 1277| -------- | --------------------------------------| 1278| 17700001 | The specified bundleName is not found. | 1279| 17700003 | The specified extensionAbility is not found. | 1280| 17700004 | The specified userId is invalid. | 1281| 17700026 | The specified bundle is disabled. | 1282 1283**示例:** 1284 1285```ts 1286import bundleManager from '@ohos.bundle.bundleManager'; 1287import hilog from '@ohos.hilog'; 1288 1289let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM; 1290let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT; 1291let userId = 100; 1292let want = { 1293 bundleName : "com.example.myapplication", 1294 abilityName : "com.example.myapplication.MainAbility" 1295}; 1296 1297try { 1298 bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags, userId).then((data) => { 1299 hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully. Data: %{public}s', JSON.stringify(data)); 1300 }).catch(err => { 1301 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message); 1302 }); 1303} catch (err) { 1304 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message); 1305} 1306``` 1307 1308```ts 1309import bundleManager from '@ohos.bundle.bundleManager'; 1310import hilog from '@ohos.hilog'; 1311let extensionAbilityType = bundleManager.ExtensionAbilityType.FORM; 1312let extensionFlags = bundleManager.ExtensionAbilityFlag.GET_EXTENSION_ABILITY_INFO_DEFAULT; 1313let want = { 1314 bundleName : "com.example.myapplication", 1315 abilityName : "com.example.myapplication.MainAbility" 1316}; 1317 1318try { 1319 bundleManager.queryExtensionAbilityInfo(want, extensionAbilityType, extensionFlags).then((data) => { 1320 hilog.info(0x0000, 'testTag', 'queryExtensionAbilityInfo successfully. Data: %{public}s', JSON.stringify(data)); 1321 }).catch(err => { 1322 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message); 1323 }) 1324} catch (err) { 1325 hilog.error(0x0000, 'testTag', 'queryExtensionAbilityInfo failed. Cause: %{public}s', err.message); 1326} 1327``` 1328 1329### bundleManager.getBundleNameByUid 1330 1331getBundleNameByUid(uid: number, callback: AsyncCallback\<string>): void; 1332 1333以异步方法根据给定的uid获取对应的bundleName,使用callback形式返回结果。 1334 1335**系统接口:** 此接口为系统接口。 1336 1337**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1338 1339**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1340 1341**参数:** 1342 1343| 参数名 | 类型 | 必填 | 说明 | 1344| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 1345| uid | number | 是 | 表示应用程序的UID。 | 1346| callback | AsyncCallback\<string> | 是 | 回调函数,当获取成功时,err为null,data为获取到的BundleName;否则为错误对象。 | 1347 1348**错误码:** 1349 1350以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1351 1352| 错误码ID | 错误信息 | 1353| -------- | --------------------- | 1354| 17700021 | The uid is not found. | 1355 1356**示例:** 1357 1358```ts 1359import bundleManager from '@ohos.bundle.bundleManager'; 1360import hilog from '@ohos.hilog'; 1361let uid = 20010005; 1362try { 1363 bundleManager.getBundleNameByUid(uid, (err, data) => { 1364 if (err) { 1365 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', err.message); 1366 } else { 1367 hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully: %{public}s', JSON.stringify(data)); 1368 } 1369 }); 1370} catch (err) { 1371 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', err.message); 1372} 1373``` 1374 1375### bundleManager.getBundleNameByUid 1376 1377getBundleNameByUid(uid: number): Promise\<string>; 1378 1379以异步方法根据给定的uid获取对应的bundleName,使用Promise形式返回结果。 1380 1381**系统接口:** 此接口为系统接口。 1382 1383**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 1384 1385**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1386 1387**参数:** 1388 1389| 参数名 | 类型 | 必填 | 说明 | 1390| ---- | ------ | ---- | ------------------ | 1391| uid | number | 是 | 表示应用程序的UID。 | 1392 1393**返回值:** 1394 1395| 类型 | 说明 | 1396| ---------------- | --------------------------- | 1397| Promise\<string> | Promise对象,返回bundleName。 | 1398 1399**错误码:** 1400 1401以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1402 1403| 错误码ID | 错误信息 | 1404| -------- | ---------------------| 1405| 17700021 | The uid is not found. | 1406 1407**示例:** 1408 1409```ts 1410import bundleManager from '@ohos.bundle.bundleManager'; 1411import hilog from '@ohos.hilog'; 1412let uid = 20010005; 1413try { 1414 bundleManager.getBundleNameByUid(uid).then((data) => { 1415 hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully. Data: %{public}s', JSON.stringify(data)); 1416 }).catch(err => { 1417 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', err.message); 1418 }); 1419} catch (err) { 1420 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', err.message); 1421} 1422``` 1423 1424### bundleManager.getBundleArchiveInfo 1425 1426getBundleArchiveInfo(hapFilePath: string, bundleFlags: [number](#bundleflag), callback: AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>): void; 1427 1428以异步方法根据给定的hapFilePath和bundleFlags获取BundleInfo,使用callback形式返回结果。 1429 1430**系统接口:** 此接口为系统接口。 1431 1432**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1433 1434**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1435 1436**参数:** 1437 1438| 参数名 | 类型 | 必填 | 说明 | 1439| ----------- | ------ | ---- | ----------------------------------------------------------- | 1440| hapFilePath | string | 是 | 表示存储HAP的路径,路径应该是当前应用程序数据目录的相对路径。 | 1441| bundleFlags | [number](#bundleflag) | 是 | 表示用于指定要返回的BundleInfo对象中包含的信息的标志。 | 1442| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的BundleInfo;否则为错误对象。 | 1443 1444**错误码:** 1445 1446以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1447 1448| 错误码ID | 错误信息 | 1449| -------- | --------------------------- | 1450| 17700022 | The hapFilePath is invalid. | 1451 1452**示例:** 1453 1454```ts 1455import bundleManager from '@ohos.bundle.bundleManager'; 1456import hilog from '@ohos.hilog'; 1457let hapFilePath = "/data/xxx/test.hap"; 1458let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 1459 1460try { 1461 bundleManager.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => { 1462 if (err) { 1463 hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message); 1464 } else { 1465 hilog.info(0x0000, 'testTag', 'getBundleArchiveInfo successfully: %{public}s', JSON.stringify(data)); 1466 } 1467 }); 1468} catch (err) { 1469 hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message); 1470} 1471``` 1472 1473### bundleManager.getBundleArchiveInfo 1474 1475getBundleArchiveInfo(hapFilePath: string, bundleFlags: [number](#bundleflag)): Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)>; 1476 1477以异步方法根据给定的hapFilePath和bundleFlags获取BundleInfo,使用Promise形式返回结果。 1478 1479**系统接口:** 此接口为系统接口。 1480 1481**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1482 1483**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1484 1485**参数:** 1486 1487| 参数名 | 类型 | 必填 | 说明 | 1488| ----------- | ------ | ---- | ------------------------------------------------------------ | 1489| hapFilePath | string | 是 | 表示存储HAP的路径,路径应该是当前应用程序数据目录的相对路径。 | 1490| bundleFlags | [number](#bundleflag) | 是 | 表示用于指定要返回的BundleInfo对象中包含的信息的标志。 | 1491 1492**返回值:** 1493 1494| 类型 | 说明 | 1495| ----------------------------------------------------------- | --------------------------- | 1496| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回BundleInfo。 | 1497 1498**错误码:** 1499 1500以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1501 1502| 错误码ID | 错误信息 | 1503| -------- | -------------------------- | 1504| 17700022 | The hapFilePath is invalid. | 1505 1506**示例:** 1507 1508```ts 1509import bundleManager from '@ohos.bundle.bundleManager'; 1510import hilog from '@ohos.hilog'; 1511let hapFilePath = "/data/xxx/test.hap"; 1512let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 1513 1514try { 1515 bundleManager.getBundleArchiveInfo(hapFilePath, bundleFlags).then((data) => { 1516 hilog.info(0x0000, 'testTag', 'getBundleArchiveInfo successfully. Data: %{public}s', JSON.stringify(data)); 1517 }).catch(err => { 1518 hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message); 1519 }); 1520} catch (err) { 1521 hilog.error(0x0000, 'testTag', 'getBundleArchiveInfo failed. Cause: %{public}s', err.message); 1522} 1523``` 1524 1525### bundleManager.cleanBundleCacheFiles 1526 1527cleanBundleCacheFiles(bundleName: string, callback: AsyncCallback\<void>): void; 1528 1529以异步方法根据给定的bundleName清理BundleCache,使用callback形式返回结果。 1530 1531**系统接口:** 此接口为系统接口。 1532 1533**需要权限:** ohos.permission.REMOVE_CACHE_FILES 1534 1535**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1536 1537**参数:** 1538 1539| 参数名 | 类型 | 必填 | 说明 | 1540| ---------- | -------------------- | ---- | ------------------------------------------------------------ | 1541| bundleName | string | 是 | 表示要清理其缓存数据的应用程序的bundleName。 | 1542| callback | AsyncCallback\<void> | 是 | 回调函数,当清理应用缓存目录数据成功,err为null,否则为错误对象。 | 1543 1544**错误码:** 1545 1546以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1547 1548| 错误码ID | 错误信息 | 1549| -------- | ------------------------------------------------------------ | 1550| 17700001 | The specified bundleName is not found. | 1551| 17700030 | The specified bundle does not support clearing of cache files. | 1552 1553**示例:** 1554 1555```ts 1556import bundleManager from '@ohos.bundle.bundleManager'; 1557import hilog from '@ohos.hilog'; 1558let bundleName = "com.ohos.myapplication"; 1559 1560try { 1561 bundleManager.cleanBundleCacheFiles(bundleName, err => { 1562 if (err) { 1563 hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message); 1564 } else { 1565 hilog.info(0x0000, 'testTag', 'cleanBundleCacheFiles successfully.'); 1566 } 1567 }); 1568} catch (err) { 1569 hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message); 1570} 1571``` 1572 1573### bundleManager.cleanBundleCacheFiles 1574 1575cleanBundleCacheFiles(bundleName: string): Promise\<void>; 1576 1577以异步方法根据给定的bundleName清理BundleCache,使用Promise形式返回结果。 1578 1579**系统接口:** 此接口为系统接口。 1580 1581**需要权限:** ohos.permission.REMOVE_CACHE_FILES 1582 1583**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1584 1585**参数:** 1586 1587| 参数名 | 类型 | 必填 | 说明 | 1588| ---------- | ------ | ---- | ------------------------------------------ | 1589| bundleName | string | 是 | 表示要清理其缓存数据的应用程序的bundleName。 | 1590 1591**返回值:** 1592 1593| 类型 | 说明 | 1594| -------------- | ------------------------------------------------------------ | 1595| Promise\<void> | 无返回结果的Promise对象。当清理应用缓存目录数据失败会抛出错误对象。 | 1596 1597**错误码:** 1598 1599以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1600 1601| 错误码ID | 错误信息 | 1602| -------- | ---------------------------------------------------------- | 1603| 17700001 | The specified bundleName is not found. | 1604| 17700030 | The specified bundle does not support clearing of cache files. | 1605 1606**示例:** 1607 1608```ts 1609import bundleManager from '@ohos.bundle.bundleManager'; 1610import hilog from '@ohos.hilog'; 1611let bundleName = "com.ohos.myapplication"; 1612 1613try { 1614 bundleManager.cleanBundleCacheFiles(bundleName).then(() => { 1615 hilog.info(0x0000, 'testTag', 'cleanBundleCacheFiles successfully.'); 1616 }).catch(err => { 1617 hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message); 1618 }); 1619} catch (err) { 1620 hilog.error(0x0000, 'testTag', 'cleanBundleCacheFiles failed: %{public}s', err.message); 1621} 1622``` 1623 1624### bundleManager.setApplicationEnabled 1625 1626setApplicationEnabled(bundleName: string, isEnabled: boolean, callback: AsyncCallback\<void>): void; 1627 1628设置指定应用的禁用或使能状态,使用callback形式返回结果。 1629 1630**系统接口:** 此接口为系统接口。 1631 1632**需要权限:** ohos.permission.CHANGE_ABILITY_ENABLED_STATE 1633 1634**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1635 1636**参数:** 1637 1638| 参数名 | 类型 | 必填 | 说明 | 1639| ---------- | ------- | ---- | ------------------------------------- | 1640| bundleName | string | 是 | 指定应用的bundleName。 | 1641| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | 1642| callback | AsyncCallback\<void> | 是 | 回调函数,当设置应用禁用或使能状态成功时,err为null,否则为错误对象。 | 1643 1644**错误码:** 1645 1646以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1647 1648| 错误码ID | 错误信息 | 1649| -------- | -------------------------------------- | 1650| 17700001 | The specified bundleName is not found. | 1651 1652**示例:** 1653 1654```ts 1655import bundleManager from '@ohos.bundle.bundleManager'; 1656import hilog from '@ohos.hilog'; 1657let bundleName = "com.ohos.myapplication"; 1658 1659try { 1660 bundleManager.setApplicationEnabled(bundleName, false, err => { 1661 if (err) { 1662 hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message); 1663 } else { 1664 hilog.info(0x0000, 'testTag', 'setApplicationEnabled successfully.'); 1665 } 1666 }); 1667} catch (err) { 1668 hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message); 1669} 1670``` 1671 1672### bundleManager.setApplicationEnabled 1673 1674setApplicationEnabled(bundleName: string, isEnabled: boolean): Promise\<void>; 1675 1676设置指定应用的禁用或使能状态,使用Promise形式返回结果。 1677 1678**系统接口:** 此接口为系统接口。 1679 1680**需要权限:** ohos.permission.CHANGE_ABILITY_ENABLED_STATE 1681 1682**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1683 1684**参数:** 1685 1686| 参数名 | 类型 | 必填 | 说明 | 1687| ---------- | ------- | ---- | ------------------------------------- | 1688| bundleName | string | 是 | 表示应用程序的bundleName。 | 1689| isEnabled | boolean | 是 | 值为true表示使能,值为false表示禁用。 | 1690 1691**返回值:** 1692 1693| 类型 | 说明 | 1694| -------------- | ------------------------------------ | 1695| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1696 1697**错误码:** 1698 1699以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1700 1701| 错误码ID | 错误信息 | 1702| -------- | -------------------------------------- | 1703| 17700001 | The specified bundleName is not found. | 1704 1705**示例:** 1706 1707```ts 1708import bundleManager from '@ohos.bundle.bundleManager'; 1709import hilog from '@ohos.hilog'; 1710let bundleName = "com.ohos.myapplication"; 1711 1712try { 1713 bundleManager.setApplicationEnabled(bundleName, false).then(() => { 1714 hilog.info(0x0000, "testTag", "setApplicationEnabled successfully."); 1715 }).catch(err => { 1716 hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message); 1717 }); 1718} catch (err) { 1719 hilog.error(0x0000, 'testTag', 'setApplicationEnabled failed: %{public}s', err.message); 1720} 1721``` 1722 1723### bundleManager.setAbilityEnabled 1724 1725setAbilityEnabled(info: [AbilityInfo](js-apis-bundleManager-abilityInfo.md), isEnabled: boolean, callback: AsyncCallback\<void>): void; 1726 1727设置指定组件的禁用或使能状态,使用callback形式返回结果。 1728 1729**系统接口:** 此接口为系统接口。 1730 1731**需要权限:** ohos.permission.CHANGE_ABILITY_ENABLED_STATE 1732 1733**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1734 1735**参数:** 1736 1737| 参数名 | 类型 | 必填 | 说明 | 1738| -------- | ----------- | ---- | ------------------------------------- | 1739| info | [AbilityInfo](js-apis-bundleManager-abilityInfo.md) | 是 | 需要被设置的组件。 | 1740| isEnabled| boolean | 是 | 值为true表示使能,值为false表示禁用。 | 1741| callback | AsyncCallback\<void> | 是 | 回调函数,当设置组件禁用或使能状态成功时,err为null,否则为错误对象。 | 1742 1743**错误码:** 1744 1745以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1746 1747| 错误码ID | 错误信息 | 1748| -------- | ---------------------------------------| 1749| 17700001 | The specified bundleName is not found. | 1750| 17700003 | The specified abilityInfo is not found. | 1751 1752**示例:** 1753 1754```ts 1755import bundleManager from '@ohos.bundle.bundleManager'; 1756import hilog from '@ohos.hilog'; 1757let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1758let userId = 100; 1759let want = { 1760 bundleName : "com.example.myapplication", 1761 abilityName : "com.example.myapplication.MainAbility" 1762}; 1763let info; 1764 1765try { 1766 bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => { 1767 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo)); 1768 info = abilitiesInfo[0]; 1769 1770 bundleManager.setAbilityEnabled(info, false, err => { 1771 if (err) { 1772 hilog.error(0x0000, 'testTag', 'setAbilityEnabled failed: %{public}s', err.message); 1773 } else { 1774 hilog.info(0x0001, "testTag", "setAbilityEnabled successfully."); 1775 } 1776 }); 1777 }).catch(err => { 1778 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1779 }); 1780} catch (err) { 1781 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1782} 1783``` 1784 1785### bundleManager.setAbilityEnabled 1786 1787setAbilityEnabled(info: [AbilityInfo](js-apis-bundleManager-abilityInfo.md), isEnabled: boolean): Promise\<void>; 1788 1789设置指定组件的禁用或使能状态,使用Promise形式返回结果。 1790 1791**系统接口:** 此接口为系统接口。 1792 1793**需要权限:** ohos.permission.CHANGE_ABILITY_ENABLED_STATE 1794 1795**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1796 1797**参数:** 1798 1799| 参数名 | 类型 | 必填 | 说明 | 1800| -------- | ----------- | ---- | ------------------------------------- | 1801| info | [AbilityInfo](js-apis-bundleManager-abilityInfo.md) | 是 | 需要被设置的组件。 | 1802| isEnabled| boolean | 是 | 值为true表示使能,值为false表示禁用。 | 1803 1804**返回值:** 1805 1806| 类型 | 说明 | 1807| -------------- | --------------------------------- | 1808| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1809 1810**错误码:** 1811 1812以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1813 1814| 错误码ID | 错误信息 | 1815| -------- | -------------------------------------- | 1816| 17700001 | The specified bundleName is not found. | 1817| 17700003 | The specified abilityInfo is not found. | 1818 1819**示例:** 1820 1821```ts 1822import bundleManager from '@ohos.bundle.bundleManager'; 1823import hilog from '@ohos.hilog'; 1824let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1825let userId = 100; 1826let want = { 1827 bundleName : "com.example.myapplication", 1828 abilityName : "com.example.myapplication.MainAbility" 1829}; 1830let info; 1831 1832try { 1833 bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => { 1834 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo)); 1835 info = abilitiesInfo[0]; 1836 1837 bundleManager.setAbilityEnabled(info, false).then(() => { 1838 hilog.info(0x0000, "testTag", "setAbilityEnabled successfully."); 1839 }).catch(err => { 1840 hilog.error(0x0000, 'testTag', 'setAbilityEnabled failed: %{public}s', err.message); 1841 }); 1842 }).catch(err => { 1843 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1844 }); 1845} catch (err) { 1846 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1847} 1848``` 1849 1850### bundleManager.isApplicationEnabled 1851 1852isApplicationEnabled(bundleName: string, callback: AsyncCallback\<boolean>): void; 1853 1854以异步的方法获取指定应用的禁用或使能状态,使用callback形式返回结果。 1855 1856**系统接口:** 此接口为系统接口。 1857 1858**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1859 1860**参数:** 1861 1862| 参数名 | 类型 | 必填 | 说明 | 1863| ---------- | ------ | ---- | -------------------------- | 1864| bundleName | string | 是 | 表示应用程序的bundleName。 | 1865| callback | AsyncCallback\<boolean> | 是 | 回调函数,返回true表示当前应用为使能状态,返回false表示应用为禁用状态。 | 1866 1867**错误码:** 1868 1869以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1870 1871| 错误码ID | 错误信息 | 1872| -------- | -------------------------------------- | 1873| 17700001 | The specified bundleName is not found. | 1874 1875**示例:** 1876 1877```ts 1878import bundleManager from '@ohos.bundle.bundleManager'; 1879import hilog from '@ohos.hilog'; 1880let bundleName = 'com.example.myapplication'; 1881 1882try { 1883 bundleManager.isApplicationEnabled(bundleName, (err, data) => { 1884 if (err) { 1885 hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed: %{public}s', err.message); 1886 } else { 1887 hilog.info(0x0000, 'testTag', 'isApplicationEnabled successfully: %{public}s', JSON.stringify(data)); 1888 } 1889 }); 1890} catch (err) { 1891 hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed: %{public}s', err.message); 1892} 1893``` 1894 1895### bundleManager.isApplicationEnabled 1896 1897isApplicationEnabled(bundleName: string): Promise\<boolean>; 1898 1899以异步的方法获取指定应用的禁用或使能状态,使用Promise形式返回结果。 1900 1901**系统接口:** 此接口为系统接口。 1902 1903**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1904 1905**参数:** 1906 1907| 参数名 | 类型 | 必填 | 说明 | 1908| ---------- | ------ | ---- | -------------------------- | 1909| bundleName | string | 是 | 表示应用程序的bundleName。 | 1910 1911**返回值:** 1912 1913| 类型 | 说明 | 1914| ----------------- | ------------------------------------------------------------ | 1915| Promise\<boolean> | Promise对象,返回true表示当前应用为使能状态,返回false表示当前应用为禁用状态。 | 1916 1917**错误码:** 1918 1919以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1920 1921| 错误码ID | 错误信息 | 1922| -------- | -------------------------------------- | 1923| 17700001 | The specified bundleName is not found. | 1924 1925**示例:** 1926 1927```ts 1928import bundleManager from '@ohos.bundle.bundleManager'; 1929import hilog from '@ohos.hilog'; 1930let bundleName = 'com.example.myapplication'; 1931 1932try { 1933 bundleManager.isApplicationEnabled(bundleName).then((data) => { 1934 hilog.info(0x0000, 'testTag', 'isApplicationEnabled successfully. Data: %{public}s', JSON.stringify(data)); 1935 }).catch(err => { 1936 hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', err.message); 1937 }); 1938} catch (err) { 1939 hilog.error(0x0000, 'testTag', 'isApplicationEnabled failed. Cause: %{public}s', err.message); 1940} 1941``` 1942 1943### bundleManager.isAbilityEnabled 1944 1945isAbilityEnabled(info: [AbilityInfo](js-apis-bundleManager-abilityInfo.md), callback: AsyncCallback\<boolean>): void; 1946 1947以异步的方法获取指定组件的禁用或使能状态,使用callback形式返回结果。 1948 1949**系统接口:** 此接口为系统接口。 1950 1951**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1952 1953**参数:** 1954 1955| 参数名 | 类型 | 必填 | 说明 | 1956| ---- | ----------- | ---- | --------------------------- | 1957| info | [AbilityInfo](js-apis-bundleManager-abilityInfo.md) | 是 | 表示关于检查ability的信息。 | 1958| callback | AsyncCallback\<boolean> | 是 | 回调函数,返回true表示当前应用组件为使能状态,返回false表示应用组件为禁用状态。 | 1959 1960**错误码:** 1961 1962以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 1963 1964| 错误码ID | 错误信息 | 1965| -------- | --------------------------------------- | 1966| 17700001 | The specified bundleName is not found. | 1967| 17700003 | The specified abilityName is not found. | 1968 1969**示例:** 1970 1971```ts 1972import bundleManager from '@ohos.bundle.bundleManager'; 1973import hilog from '@ohos.hilog'; 1974let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 1975let userId = 100; 1976let want = { 1977 bundleName : "com.example.myapplication", 1978 abilityName : "com.example.myapplication.MainAbility" 1979}; 1980let info; 1981 1982try { 1983 bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => { 1984 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo)); 1985 info = abilitiesInfo[0]; 1986 1987 bundleManager.isAbilityEnabled(info, (err, data) => { 1988 if (err) { 1989 hilog.error(0x0000, 'testTag', 'isAbilityEnabled failed: %{public}s', err.message); 1990 } else { 1991 hilog.info(0x0000, 'testTag', 'isAbilityEnabled successfully: %{public}s', JSON.stringify(data)); 1992 } 1993 }); 1994 }).catch(err => { 1995 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1996 }); 1997} catch (err) { 1998 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 1999} 2000``` 2001 2002### bundleManager.isAbilityEnabled 2003 2004isAbilityEnabled(info: [AbilityInfo](js-apis-bundleManager-abilityInfo.md)): Promise\<boolean>; 2005 2006以异步的方法获取指定组件的禁用或使能状态,使用Promise形式返回结果。 2007 2008**系统接口:** 此接口为系统接口。 2009 2010**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2011 2012**参数:** 2013 2014| 参数名 | 类型 | 必填 | 说明 | 2015| ---- | ----------- | ---- | --------------------------- | 2016| info | [AbilityInfo](js-apis-bundleManager-abilityInfo.md) | 是 | 表示关于检查ability的信息。 | 2017 2018**返回值:** 2019 2020| 类型 | 说明 | 2021| ----------------- | ------------------------------------------------------------ | 2022| Promise\<boolean> | Promise对象,返回true表示当前应用组件为使能状态,返回false表示当前应用组件为禁用状态。 | 2023 2024**错误码:** 2025 2026以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2027 2028| 错误码ID | 错误信息 | 2029| -------- | --------------------------------------- | 2030| 17700001 | The specified bundleName is not found. | 2031| 17700003 | The specified abilityName is not found. | 2032 2033**示例:** 2034 2035```ts 2036import bundleManager from '@ohos.bundle.bundleManager'; 2037import hilog from '@ohos.hilog'; 2038let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_DEFAULT; 2039let userId = 100; 2040let want = { 2041 bundleName : "com.example.myapplication", 2042 abilityName : "com.example.myapplication.MainAbility" 2043}; 2044let info; 2045 2046try { 2047 bundleManager.queryAbilityInfo(want, abilityFlags, userId).then((abilitiesInfo) => { 2048 hilog.info(0x0000, 'testTag', 'queryAbilityInfo successfully. Data: %{public}s', JSON.stringify(abilitiesInfo)); 2049 info = abilitiesInfo[0]; 2050 2051 bundleManager.isAbilityEnabled(info).then((data) => { 2052 hilog.info(0x0000, 'testTag', 'isAbilityEnabled successfully. Data: %{public}s', JSON.stringify(data)); 2053 }).catch(err => { 2054 hilog.error(0x0000, 'testTag', 'isAbilityEnabled failed. Cause: %{public}s', err.message); 2055 }); 2056 }).catch(err => { 2057 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 2058 }); 2059} catch (err) { 2060 hilog.error(0x0000, 'testTag', 'queryAbilityInfo failed. Cause: %{public}s', err.message); 2061} 2062``` 2063 2064### bundleManager.getLaunchWantForBundle 2065 2066getLaunchWantForBundle(bundleName: string, userId: number, callback: AsyncCallback\<Want>): void; 2067 2068以异步方法根据给定的bundleName和userId获取用于启动应用程序的Want参数,使用callback形式返回结果。 2069 2070**系统接口:** 此接口为系统接口。 2071 2072**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 2073 2074**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2075 2076**参数:** 2077 2078| 参数名 | 类型 | 必填 | 说明 | 2079| ---------- | -------------------- | ---- | ------------------------------------------------------------ | 2080| bundleName | string | 是 | 表示应用程序的bundleName。 | 2081| userId | number | 是 | 表示用户ID。 | 2082| callback | AsyncCallback\<Want> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Want;否则为错误对象。 | 2083 2084**错误码:** 2085 2086以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2087 2088| 错误码ID | 错误信息 | 2089| -------- | --------------------------------------| 2090| 17700001 | The specified bundleName is not found. | 2091| 17700004 | The specified user ID is not found. | 2092| 17700026 | The specified bundle is disabled. | 2093 2094**示例:** 2095 2096```ts 2097import bundleManager from '@ohos.bundle.bundleManager'; 2098import hilog from '@ohos.hilog'; 2099let bundleName = 'com.example.myapplication'; 2100let userId = 100; 2101 2102try { 2103 bundleManager.getLaunchWantForBundle(bundleName, userId, (err, data) => { 2104 if (err) { 2105 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message); 2106 } else { 2107 hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully: %{public}s', JSON.stringify(data)); 2108 } 2109 }); 2110} catch (err) { 2111 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message); 2112} 2113``` 2114 2115### bundleManager.getLaunchWantForBundle 2116 2117getLaunchWantForBundle(bundleName: string, callback: AsyncCallback\<Want>): void; 2118 2119以异步方法根据给定的bundleName获取用于启动应用程序的Want参数,使用callback形式返回结果。 2120 2121**系统接口:** 此接口为系统接口。 2122 2123**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 2124 2125**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2126 2127**参数:** 2128 2129| 参数名 | 类型 | 必填 | 说明 | 2130| ---------- | -------------------- | ---- | ------------------------------------------------------------ | 2131| bundleName | string | 是 | 表示应用程序的bundleName。 | 2132| callback | AsyncCallback\<Want> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Want;否则为错误对象。 | 2133 2134**错误码:** 2135 2136以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2137 2138| 错误码ID | 错误信息 | 2139| -------- | --------------------------------------| 2140| 17700001 | The specified bundleName is not found. | 2141| 17700026 | The specified bundle is disabled. | 2142 2143**示例:** 2144 2145```ts 2146import bundleManager from '@ohos.bundle.bundleManager'; 2147import hilog from '@ohos.hilog'; 2148let bundleName = 'com.example.myapplication'; 2149 2150try { 2151 bundleManager.getLaunchWantForBundle(bundleName, (err, data) => { 2152 if (err) { 2153 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message); 2154 } else { 2155 hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully: %{public}s', JSON.stringify(data)); 2156 } 2157 }); 2158} catch (err) { 2159 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed: %{public}s', err.message); 2160} 2161``` 2162 2163### bundleManager.getLaunchWantForBundle 2164 2165getLaunchWantForBundle(bundleName: string, userId?: number): Promise\<Want>; 2166 2167以异步方法根据给定的bundleName和userId获取用于启动应用程序的Want参数,使用Promise形式返回结果。 2168 2169**系统接口:** 此接口为系统接口。 2170 2171**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 2172 2173**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2174 2175**参数:** 2176 2177| 参数名 | 类型 | 必填 | 说明 | 2178| ---------- | ------ | ---- | ------------------------- | 2179| bundleName | string | 是 | 表示应用程序的bundleName。 | 2180| userId | number | 否 | 表示用户ID。 | 2181 2182**返回值:** 2183 2184| 类型 | 说明 | 2185| -------------- | ------------------------- | 2186| Promise\<Want> | Promise对象,返回Want对象。 | 2187 2188**错误码:** 2189 2190以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2191 2192| 错误码ID | 错误信息 | 2193| -------- | --------------------------------------| 2194| 17700001 | The specified bundleName is not found. | 2195| 17700004 | The specified user ID is not found. | 2196| 17700026 | The specified bundle is disabled. | 2197 2198**示例:** 2199 2200```ts 2201import bundleManager from '@ohos.bundle.bundleManager'; 2202import hilog from '@ohos.hilog'; 2203let bundleName = 'com.example.myapplication'; 2204let userId = 100; 2205 2206try { 2207 bundleManager.getLaunchWantForBundle(bundleName, userId).then((data) => { 2208 hilog.info(0x0000, 'testTag', 'getLaunchWantForBundle successfully. Data: %{public}s', JSON.stringify(data)); 2209 }).catch(err => { 2210 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed. Cause: %{public}s', err.message); 2211 }); 2212} catch (err) { 2213 hilog.error(0x0000, 'testTag', 'getLaunchWantForBundle failed. Cause: %{public}s', err.message); 2214} 2215``` 2216 2217### bundleManager.getProfileByAbility 2218 2219getProfileByAbility(moduleName: string, abilityName: string, metadataName: string, callback: AsyncCallback\<Array\<string\>\>): void; 2220 2221以异步方法根据给定的moduleName、abilityName和metadataName获取相应配置文件的json格式字符串,使用callback形式返回结果。 2222 2223**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2224 2225**参数:** 2226 2227| 参数名 | 类型 | 必填 | 说明 | 2228| ------------ | ----------------------------- | ---- | ------------------------------------------------------------ | 2229| moduleName | string | 是 | 表示应用程序的moduleName。 | 2230| abilityName | string | 是 | 表示应用程序的abilityName。 | 2231| metadataName | string | 是 | 表示应用程序的metadataName。 | 2232| callback | AsyncCallback<Array\<string>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<string>;否则为错误对象。 | 2233 2234**错误码:** 2235 2236以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2237 2238| 错误码ID | 错误信息 | 2239| -------- | ------------------------------------------------------------ | 2240| 17700002 | The specified moduleName is not existed. | 2241| 17700003 | The specified abilityName is not existed. | 2242| 17700024 | Failed to get the profile because there is no profile in the HAP. | 2243| 17700026 | The specified bundle is disabled. | 2244| 17700029 | The specified ability is disabled. | 2245 2246**示例:** 2247 2248```ts 2249import bundleManager from '@ohos.bundle.bundleManager'; 2250import hilog from '@ohos.hilog'; 2251let moduleName = 'entry'; 2252let abilityName = 'MainAbility'; 2253let metadataName = 'com.example.myapplication.metadata'; 2254 2255try { 2256 bundleManager.getProfileByAbility(moduleName, abilityName, metadataName, (err, data) => { 2257 if (err) { 2258 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2259 } else { 2260 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully: %{public}s', JSON.stringify(data)); 2261 } 2262 }); 2263} catch (err) { 2264 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2265} 2266``` 2267 2268### bundleManager.getProfileByAbility 2269 2270getProfileByAbility(moduleName: string, abilityName: string, metadataName?: string): Promise\<Array\<string\>\>; 2271 2272以异步方法根据给定的moduleName、abilityName和metadataName获取相应配置文件的json格式字符串,使用Promise形式返回结果。 2273 2274**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2275 2276**参数:** 2277 2278| 参数名 | 类型 | 必填 | 说明 | 2279| ------------ | ------ | ---- | -------------------------- | 2280| moduleName | string | 是 | 表示应用程序的moduleName。 | 2281| abilityName | string | 是 | 表示应用程序的abilityName。 | 2282| metadataName | string | 否 | 表示应用程序的metadataName。 | 2283 2284**返回值:** 2285 2286| 类型 | 说明 | 2287| ----------------------- | ------------------------------- | 2288| Promise<Array\<string>> | Promise对象,返回Array\<string>。 | 2289 2290**错误码:** 2291 2292以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2293 2294| 错误码ID | 错误信息 | 2295| -------- | ------------------------------------------------------------ | 2296| 17700002 | The specified moduleName is not existed. | 2297| 17700003 | The specified abilityName is not existed. | 2298| 17700024 | Failed to get the profile because there is no profile in the HAP. | 2299| 17700026 | The specified bundle is disabled. | 2300| 17700029 | The specified ability is disabled. | 2301 2302**示例:** 2303 2304```ts 2305import bundleManager from '@ohos.bundle.bundleManager'; 2306import hilog from '@ohos.hilog'; 2307let moduleName = 'entry'; 2308let abilityName = 'MainAbility'; 2309 2310try { 2311 bundleManager.getProfileByAbility(moduleName, abilityName).then((data) => { 2312 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data)); 2313 }).catch(err => { 2314 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2315 }); 2316} catch (err) { 2317 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2318} 2319``` 2320 2321```ts 2322import bundleManager from '@ohos.bundle.bundleManager'; 2323import hilog from '@ohos.hilog'; 2324let moduleName = 'entry'; 2325let abilityName = 'MainAbility'; 2326let metadataName = 'com.example.myapplication.metadata'; 2327try { 2328 bundleManager.getProfileByAbility(moduleName, abilityName, metadataName).then((data) => { 2329 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data)); 2330 }).catch(err => { 2331 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2332 }); 2333} catch (err) { 2334 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 2335} 2336``` 2337 2338### bundleManager.getProfileByExtensionAbility 2339 2340getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName: string, callback: AsyncCallback\<Array\<string\>\>): void; 2341 2342以异步方法根据给定的moduleName、extensionAbilityName和metadataName获取相应配置文件的json格式字符串,使用callback形式返回结果。 2343 2344**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2345 2346**参数:** 2347 2348| 参数名 | 类型 | 必填 | 说明 | 2349| -------------------- | ----------------------------- | ---- | ------------------------------------------------------------ | 2350| moduleName | string | 是 | 表示应用程序的moduleName。 | 2351| extensionAbilityName | string | 是 | 表示应用程序的extensionAbilityName。 | 2352| metadataName | string | 是 | 表示应用程序的metadataName。 | 2353| callback | AsyncCallback<Array\<string>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<string>;否则为错误对象。 | 2354 2355**错误码:** 2356 2357以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2358 2359| 错误码ID | 错误信息 | 2360| -------- | ------------------------------------------------------------ | 2361| 17700002 | The specified moduleName is not existed. | 2362| 17700003 | The specified extensionAbilityName not existed. | 2363| 17700024 | Failed to get the profile because there is no profile in the HAP. | 2364| 17700026 | The specified bundle is disabled. | 2365 2366**示例:** 2367 2368```ts 2369import bundleManager from '@ohos.bundle.bundleManager'; 2370import hilog from '@ohos.hilog'; 2371let moduleName = 'entry'; 2372let extensionAbilityName = 'com.example.myapplication.extension'; 2373let metadataName = 'com.example.myapplication.metadata'; 2374 2375try { 2376 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName, (err, data) => { 2377 if (err) { 2378 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', err.message); 2379 } else { 2380 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully: %{public}s', JSON.stringify(data)); 2381 } 2382 }); 2383} catch (err) { 2384 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', err.message); 2385} 2386``` 2387 2388### bundleManager.getProfileByExtensionAbility 2389 2390getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName?: string): Promise\<Array\<string\>\>; 2391 2392以异步方法根据给定的moduleName、extensionAbilityName和metadataName获取相应配置文件的json格式字符串,使用Promise形式返回结果。 2393 2394**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2395 2396**参数:** 2397 2398| 参数名 | 类型 | 必填 | 说明 | 2399| -------------------- | ------ | ---- | ---------------------------------- | 2400| moduleName | string | 是 | 表示应用程序的moduleName。 | 2401| extensionAbilityName | string | 是 | 表示应用程序的extensionAbilityName。 | 2402| metadataName | string | 否 | 表示应用程序的metadataName。 | 2403 2404**返回值:** 2405 2406| 类型 | 说明 | 2407| ----------------------- | ----------------------------------- | 2408| Promise<Array\<string>> | Promise对象,返回Array\<string>对象。 | 2409 2410**错误码:** 2411 2412以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2413 2414| 错误码ID | 错误信息 | 2415| -------- | ------------------------------------------------------------ | 2416| 17700002 | The specified moduleName is not existed. | 2417| 17700003 | The specified extensionAbilityName not existed. | 2418| 17700024 | Failed to get the profile because there is no profile in the HAP. | 2419| 17700026 | The specified bundle is disabled. | 2420 2421**示例:** 2422 2423```ts 2424import bundleManager from '@ohos.bundle.bundleManager'; 2425import hilog from '@ohos.hilog'; 2426let moduleName = 'entry'; 2427let extensionAbilityName = 'com.example.myapplication.extension'; 2428let metadataName = 'com.example.myapplication.metadata'; 2429 2430try { 2431 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName).then((data) => { 2432 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data)); 2433 }).catch(err => { 2434 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 2435 }); 2436} catch (err) { 2437 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 2438} 2439 2440try { 2441 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName).then((data) => { 2442 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data)); 2443 }).catch(err => { 2444 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 2445 }); 2446} catch (err) { 2447 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 2448} 2449``` 2450 2451### bundleManager.getPermissionDef 2452 2453getPermissionDef(permissionName: string, callback: AsyncCallback\<[PermissionDef](js-apis-bundleManager-permissionDef.md)>): void; 2454 2455以异步方法根据给定的permissionName获取权限定义结构体PermissionDef信息,使用callback形式返回结果。 2456 2457**系统接口:** 此接口为系统接口。 2458 2459**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 2460 2461**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2462 2463**参数:** 2464 2465| 参数名 | 类型 | 必填 | 说明 | 2466| -------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 2467| permissionName | string | 是 | 表示权限名称。 | 2468| callback | AsyncCallback\<[PermissionDef](js-apis-bundleManager-permissionDef.md)> | 是 | 回调函数,当获取成功时,err为null,data为获取到的Array\<PermissionDef>;否则为错误对象。 | 2469 2470**错误码:** 2471 2472以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2473 2474| 错误码ID | 错误信息 | 2475| -------- | ------------------------------------- | 2476| 17700006 | The specified permission is not found. | 2477 2478**示例:** 2479 2480```ts 2481import bundleManager from '@ohos.bundle.bundleManager'; 2482import hilog from '@ohos.hilog'; 2483let permission = "ohos.permission.GET_BUNDLE_INFO"; 2484try { 2485 bundleManager.getPermissionDef(permission, (err, data) => { 2486 if (err) { 2487 hilog.error(0x0000, 'testTag', 'getPermissionDef failed: %{public}s', err.message); 2488 } else { 2489 hilog.info(0x0000, 'testTag', 'getPermissionDef successfully: %{public}s', JSON.stringify(data)); 2490 } 2491 }); 2492} catch (err) { 2493 hilog.error(0x0000, 'testTag', 'getPermissionDef failed: %{public}s', err.message); 2494} 2495``` 2496 2497### bundleManager.getPermissionDef 2498 2499getPermissionDef(permissionName: string): Promise\<[PermissionDef](js-apis-bundleManager-permissionDef.md)>; 2500 2501以异步方法根据给定的permissionName获取权限定义结构体PermissionDef信息,使用Promise形式返回结果。 2502 2503**系统接口:** 此接口为系统接口。 2504 2505**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 2506 2507**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2508 2509**参数:** 2510 2511| 参数名 | 类型 | 必填 | 说明 | 2512| -------------- | ------ | ---- | -------------- | 2513| permissionName | string | 是 | 表示权限参数名。 | 2514 2515**返回值:** 2516 2517| 类型 | 说明 | 2518| ------------------------------------------------------------ | ------------------------------------------ | 2519| Promise\<[PermissionDef](js-apis-bundleManager-permissionDef.md)> | Promise对象,返回Array\<PermissionDef>对象。 | 2520 2521**错误码:** 2522 2523以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2524 2525| 错误码ID | 错误信息 | 2526| -------- | ------------------------------------- | 2527| 17700006 | The specified permission is not found. | 2528 2529**示例:** 2530 2531```ts 2532import bundleManager from '@ohos.bundle.bundleManager'; 2533import hilog from '@ohos.hilog'; 2534let permissionName = "ohos.permission.GET_BUNDLE_INFO"; 2535try { 2536 bundleManager.getPermissionDef(permissionName).then((data) => { 2537 hilog.info(0x0000, 'testTag', 'getPermissionDef successfully. Data: %{public}s', JSON.stringify(data)); 2538 }).catch(err => { 2539 hilog.error(0x0000, 'testTag', 'getPermissionDef failed. Cause: %{public}s', err.message); 2540 }); 2541} catch (err) { 2542 hilog.error(0x0000, 'testTag', 'getPermissionDef failed. Cause: %{public}s', err.message); 2543} 2544``` 2545 2546### bundleManager.getAbilityLabel 2547 2548getAbilityLabel(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback\<string>): void; 2549 2550以异步的方法获取指定bundleName、moduleName和abilityName的label,使用callback形式返回结果。 2551 2552**系统接口:** 此接口为系统接口。 2553 2554**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2555 2556**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource 2557 2558**参数:** 2559 2560| 参数名 | 类型 | 必填 | 说明 | 2561| ----------- | ---------------------- | ---- | ------------------------------------------------------------ | 2562| bundleName | string | 是 | 表示应用程序的bundleName。 | 2563| moduleName | string | 是 | 表示应用程序的moduleName。 | 2564| abilityName | string | 是 | 表示应用程序的abilityName。 | 2565| callback | AsyncCallback\<string> | 是 | 回调函数,当获取成功时,err为null,data为获指定组件的Label值;否则为错误对象。 | 2566 2567**错误码:** 2568 2569以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2570 2571| 错误码ID | 错误信息 | 2572| -------- | -------------------------------------- | 2573| 17700001 | The specified bundleName is not found. | 2574| 17700002 | The specified moduleName is not found. | 2575| 17700003 | The specified abilityName is not found. | 2576| 17700026 | The specified bundle is disabled. | 2577| 17700029 | The specified ability is disabled. | 2578 2579**示例:** 2580 2581```ts 2582import bundleManager from '@ohos.bundle.bundleManager'; 2583import hilog from '@ohos.hilog'; 2584let bundleName = 'com.example.myapplication'; 2585let moduleName = 'entry'; 2586let abilityName = 'MainAbility'; 2587 2588try { 2589 bundleManager.getAbilityLabel(bundleName, moduleName, abilityName, (err, data) => { 2590 if (err) { 2591 hilog.error(0x0000, 'testTag', 'getAbilityLabel failed: %{public}s', err.message); 2592 } else { 2593 hilog.info(0x0000, 'testTag', 'getAbilityLabel successfully: %{public}s', JSON.stringify(data)); 2594 } 2595 }); 2596} catch (err) { 2597 hilog.error(0x0000, 'testTag', 'getAbilityLabel failed: %{public}s', err.message); 2598} 2599``` 2600 2601### bundleManager.getAbilityLabel 2602 2603getAbilityLabel(bundleName: string, moduleName: string, abilityName: string): Promise\<string>; 2604 2605以异步的方法获取指定bundleName、moduleName和abilityName的label,使用Promise形式返回结果。 2606 2607**系统接口:** 此接口为系统接口。 2608 2609**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2610 2611**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource 2612 2613**参数:** 2614 2615| 参数名 | 类型 | 必填 | 说明 | 2616| ----------- | ------ | ---- | ------------------------- | 2617| bundleName | string | 是 | 表示应用程序的bundleName。 | 2618| moduleName | string | 是 | 表示应用程序的moduleName。 | 2619| abilityName | string | 是 | 表示应用程序的abilityName。 | 2620 2621**返回值:** 2622 2623| 类型 | 说明 | 2624| ---------------- | ----------------------------------- | 2625| Promise\<string> | Promise对象,返回指定组件的Lablel值。 | 2626 2627**错误码:** 2628 2629以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2630 2631| 错误码ID | 错误信息 | 2632| -------- | --------------------------------------- | 2633| 17700001 | The specified bundleName is not found. | 2634| 17700002 | The specified moduleName is not found. | 2635| 17700003 | The specified abilityName is not found. | 2636| 17700026 | The specified bundle is disabled. | 2637| 17700029 | The specified ability is disabled. | 2638 2639**示例:** 2640 2641```ts 2642import bundleManager from '@ohos.bundle.bundleManager'; 2643import hilog from '@ohos.hilog'; 2644let bundleName = 'com.example.myapplication'; 2645let moduleName = 'entry'; 2646let abilityName = 'MainAbility'; 2647 2648try { 2649 bundleManager.getAbilityLabel(bundleName, moduleName, abilityName).then((data) => { 2650 hilog.info(0x0000, 'testTag', 'getAbilityLabel successfully. Data: %{public}s', JSON.stringify(data)); 2651 }).catch(err => { 2652 hilog.error(0x0000, 'testTag', 'getAbilityLabel failed. Cause: %{public}s', err.message); 2653 }); 2654} catch (err) { 2655 hilog.error(0x0000, 'testTag', 'getAbilityLabel failed. Cause: %{public}s', err.message); 2656} 2657``` 2658 2659### bundleManager.getApplicationInfoSync 2660 2661getApplicationInfoSync(bundleName: string, applicationFlags: number, userId: number) : [ApplicationInfo](js-apis-bundleManager-applicationInfo.md); 2662 2663以同步方法根据给定的bundleName、applicationFlags和userId获取ApplicationInfo。 2664 2665**系统接口:** 此接口为系统接口。 2666 2667**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2668 2669**系统能力:** SystemCapability.BundleManager.BundleFramework.Core。 2670 2671**参数:** 2672 2673| 参数名 | 类型 | 必填 | 说明 | 2674| ----------- | ------ | ---- | ----------------------------------------------------------| 2675| bundleName | string | 是 | 表示应用程序的bundleName。 | 2676| applicationFlags | [number](#applicationflag) | 是 | 表示用于指定将返回的ApplicationInfo对象中包含的信息。 | 2677| userId | number | 是 | 表示用户ID。 | 2678 2679**返回值:** 2680 2681| 类型 | 说明 | 2682| --------------- | ------------------------- | 2683| [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 返回ApplicationInfo对象。 | 2684 2685**错误码:** 2686 2687以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2688 2689| 错误码ID | 错误信息 | 2690| -------- | -------------------------------------- | 2691| 17700001 | The specified bundleName is not found. | 2692| 17700004 | The specified user ID is not found. | 2693| 17700026 | The specified bundle is disabled. | 2694 2695**示例:** 2696 2697```ts 2698import bundleManager from '@ohos.bundle.bundleManager'; 2699import hilog from '@ohos.hilog'; 2700let bundleName = 'com.example.myapplication'; 2701let applicationFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 2702let userId = 100; 2703 2704try { 2705 let data = bundleManager.getApplicationInfoSync(bundleName, applicationFlags, userId); 2706 hilog.info(0x0000, 'testTag', 'getApplicationInfoSync successfully: %{public}s', JSON.stringify(data)); 2707} catch (err) { 2708 hilog.error(0x0000, 'testTag', 'getApplicationInfoSync failed: %{public}s', err.message); 2709} 2710``` 2711 2712### bundleManager.getApplicationInfoSync 2713 2714getApplicationInfoSync(bundleName: string, applicationFlags: number) : [ApplicationInfo](js-apis-bundleManager-applicationInfo.md); 2715 2716以同步方法根据给定的bundleName、applicationFlags获取ApplicationInfo。 2717 2718**系统接口:** 此接口为系统接口。 2719 2720**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2721 2722**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2723 2724**参数:** 2725 2726| 参数名 | 类型 | 必填 | 说明 | 2727| ---------------- | -------------------------- | ---- | ----------------------------------------------------- | 2728| bundleName | string | 是 | 表示应用程序的bundleName。 | 2729| applicationFlags | [number](#applicationflag) | 是 | 表示用于指定将返回的ApplicationInfo对象中包含的信息。 | 2730 2731**返回值:** 2732 2733| 类型 | 说明 | 2734| ----------------------------------------------------------- | ------------------------- | 2735| [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 返回ApplicationInfo对象。 | 2736 2737**错误码:** 2738 2739以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2740 2741| 错误码ID | 错误信息 | 2742| -------- | -------------------------------------- | 2743| 17700001 | The specified bundleName is not found. | 2744| 17700026 | The specified bundle is disabled. | 2745 2746**示例:** 2747 2748```ts 2749import bundleManager from '@ohos.bundle.bundleManager'; 2750import hilog from '@ohos.hilog'; 2751let bundleName = 'com.example.myapplication'; 2752let applicationFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT; 2753 2754try { 2755 let data = bundleManager.getApplicationInfoSync(bundleName, applicationFlags); 2756 hilog.info(0x0000, 'testTag', 'getApplicationInfoSync successfully: %{public}s', JSON.stringify(data)); 2757} catch (err) { 2758 hilog.error(0x0000, 'testTag', 'getApplicationInfoSync failed: %{public}s', err.message); 2759} 2760``` 2761 2762### bundleManager.getBundleInfoSync 2763 2764getBundleInfoSync(bundleName: string, bundleFlags: [number](#bundleflag), userId: number): [BundleInfo](js-apis-bundleManager-bundleInfo.md); 2765 2766以同步方法根据给定的bundleName、bundleFlags和userId获取BundleInfo。 2767 2768**系统接口:** 此接口为系统接口。 2769 2770**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2771 2772**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2773 2774**参数:** 2775 2776| 参数名 | 类型 | 必填 | 说明 | 2777| ----------- | ------ | ---- | -------------------------------------------------------- | 2778| bundleName | string | 是 | 表示应用程序的bundleName。 | 2779| bundleFlags | [number](#bundleflag) | 是 | 表示用于指定将返回的BundleInfo对象中包含的信息的标志。 | 2780| userId | number | 是 | 表示用户ID。 | 2781 2782**返回值:** 2783 2784| 类型 | 说明 | 2785| ---------- | -------------------- | 2786| [BundleInfo](js-apis-bundleManager-bundleInfo.md) | 返回BundleInfo对象。 | 2787 2788**错误码:** 2789 2790以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2791 2792| 错误码ID | 错误信息 | 2793| -------- | ------------------------------------- | 2794| 17700001 | The specified bundleName is not found. | 2795| 17700004 | The specified user ID is not found. | 2796| 17700026 | The specified bundle is disabled. | 2797 2798**示例:** 2799 2800```ts 2801import bundleManager from '@ohos.bundle.bundleManager'; 2802import hilog from '@ohos.hilog'; 2803let bundleName = 'com.example.myapplication'; 2804let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 2805let userId = 100; 2806 2807try { 2808 let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags, userId); 2809 hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data)); 2810} catch (err) { 2811 hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', err.message); 2812} 2813``` 2814 2815### bundleManager.getBundleInfoSync 2816 2817getBundleInfoSync(bundleName: string, bundleFlags: [number](#bundleflag)): [BundleInfo](js-apis-bundleManager-bundleInfo.md); 2818 2819以同步方法根据给定的bundleName、bundleFlags获取BundleInfo。 2820 2821**系统接口:** 此接口为系统接口。 2822 2823**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED or ohos.permission.GET_BUNDLE_INFO 2824 2825**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 2826 2827**参数:** 2828 2829| 参数名 | 类型 | 必填 | 说明 | 2830| ----------- | --------------------- | ---- | ------------------------------------------------------ | 2831| bundleName | string | 是 | 表示应用程序的bundleName。 | 2832| bundleFlags | [number](#bundleflag) | 是 | 表示用于指定将返回的BundleInfo对象中包含的信息的标志。 | 2833 2834**返回值:** 2835 2836| 类型 | 说明 | 2837| ------------------------------------------------- | -------------------- | 2838| [BundleInfo](js-apis-bundleManager-bundleInfo.md) | 返回BundleInfo对象。 | 2839 2840**错误码:** 2841 2842以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 2843 2844| 错误码ID | 错误信息 | 2845| -------- | -------------------------------------- | 2846| 17700001 | The specified bundleName is not found. | 2847| 17700026 | The specified bundle is disabled. | 2848 2849**示例:** 2850 2851```ts 2852import bundleManager from '@ohos.bundle.bundleManager'; 2853import hilog from '@ohos.hilog'; 2854let bundleName = 'com.example.myapplication'; 2855let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 2856try { 2857 let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags); 2858 hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data)); 2859} catch (err) { 2860 hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', err.message); 2861} 2862``` 2863