1# @ohos.bundle.bundleManager (bundleManager模块) 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9本模块提供应用信息的查询能力,支持应用包信息[BundleInfo](js-apis-bundleManager-bundleInfo.md)、应用程序信息[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)、UIAbility组件信息[AbilityInfo](js-apis-bundleManager-abilityInfo.md)、ExtensionAbility组件信息[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)等信息的查询。 10 11> **说明:** 12> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 13 14## 导入模块 15 16```ts 17import { bundleManager } from '@kit.AbilityKit'; 18``` 19 20## BundleFlag 21 22包信息标志,指示需要获取的包信息的内容。 23 24**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 25 26| 名称 | 值 | 说明 | 27| --------------------------------------------- | ---------- | ------------------------------------------------------------ | 28| GET_BUNDLE_INFO_DEFAULT | 0x00000000 | 获取默认包信息,不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 29| GET_BUNDLE_INFO_WITH_APPLICATION | 0x00000001 | 用于获取包含applicationInfo的bundleInfo,获取的bundleInfo不包含signatureInfo、hapModuleInfo、ability、extensionAbility和permission的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 30| GET_BUNDLE_INFO_WITH_HAP_MODULE | 0x00000002 | 用于获取包含hapModuleInfo的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、ability、extensionAbility和permission的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 31| GET_BUNDLE_INFO_WITH_ABILITY | 0x00000004 | 用于获取包含ability的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、extensionAbility和permission的信息。单独使用不生效,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 32| GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY | 0x00000008 | 用于获取包含extensionAbility的bundleInfo,获取的bundleInfo不包含signatureInfo、applicationInfo、ability 和permission的信息。单独使用不生效,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 33| GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION | 0x00000010 | 用于获取包含permission的bundleInfo。获取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、extensionAbility和ability的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 34| GET_BUNDLE_INFO_WITH_METADATA | 0x00000020 | 用于获取applicationInfo、moduleInfo、abilityInfo和extensionAbilityInfo中包含的metadata。单独使用不生效,它需要与GET_BUNDLE_INFO_WITH_APPLICATION、GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY、GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY配合使用,其中:<br/>- 获取applicationInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_APPLICATION一起使用。<br/>- 获取moduleInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>- 获取abilityInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY一起使用。<br/>- 获取extensionAbilityInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY一起使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 35| GET_BUNDLE_INFO_WITH_DISABLE | 0x00000040 | 用于获取application被禁用的BundleInfo和被禁用的Ability信息。获取的bundleInfo不包含signatureInfo、applicationInfo、hapModuleInfo、ability、extensionAbility和permission的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 36| GET_BUNDLE_INFO_WITH_SIGNATURE_INFO | 0x00000080 | 用于获取包含signatureInfo的bundleInfo。获取的bundleInfo不包含applicationInfo、hapModuleInfo、extensionAbility、ability和permission的信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 37| GET_BUNDLE_INFO_WITH_MENU<sup>11+</sup> | 0x00000100 | 用于获取包含fileContextMenuConfig的bundleInfo。单独使用不生效,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 38| GET_BUNDLE_INFO_WITH_ROUTER_MAP<sup>12+</sup> | 0x00000200 | 用于获取包含routerMap的bundleInfo。单独使用不生效,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 39| GET_BUNDLE_INFO_WITH_SKILL<sup>12+</sup> | 0x00000800 | 用于获取包含skills的bundleInfo。单独使用不生效,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY、GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY一起使用。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 40 41## ExtensionAbilityType 42 43扩展组件的类型。 44 45**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 46 47| 名称 | 值 | 说明 | 48|:----------------:|:---:|-----| 49| FORM | 0 | [FormExtensionAbility](../apis-form-kit/js-apis-app-form-formExtensionAbility.md):卡片扩展能力,提供卡片开发能力。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 50| WORK_SCHEDULER | 1 | [WorkSchedulerExtensionAbility](../apis-backgroundtasks-kit/js-apis-WorkSchedulerExtensionAbility.md):延时任务扩展能力,允许应用在系统闲时执行实时性不高的任务。 | 51| INPUT_METHOD | 2 | [InputMethodExtensionAbility](../apis-ime-kit/js-apis-inputmethod-extension-ability.md):输入法扩展能力,用于开发输入法应用。 | 52|<!--DelRow--> SERVICE | 3 | [ServiceExtensionAbility](js-apis-app-ability-serviceExtensionAbility-sys.md):后台服务扩展能力,提供后台运行并对外提供相应能力。| 53| ACCESSIBILITY | 4 | <!--RP1-->[AccessibilityExtensionAbility](../apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility.md)<!--RP1End-->:无障碍服务扩展能力,支持访问与操作前台界面。 | 54|<!--DelRow--> DATA_SHARE | 5 | [DataShareExtensionAbility](../apis-arkdata/js-apis-application-dataShareExtensionAbility-sys.md):数据共享扩展能力,用于对外提供数据读写服务。 | 55|<!--DelRow--> FILE_SHARE | 6 | FileShareExtensionAbility:文件共享扩展能力,用于应用间的文件分享。预留能力,仅系统应用支持。 | 56|<!--DelRow--> STATIC_SUBSCRIBER| 7 | [StaticSubscriberExtensionAbility](../apis-basic-services-kit/js-apis-application-staticSubscriberExtensionAbility-sys.md):静态广播扩展能力,用于处理静态事件,比如开机事件。 | 57|<!--DelRow--> WALLPAPER | 8 | WallpaperExtensionAbility:壁纸扩展能力,用于实现桌面壁纸。预留能力,仅系统应用支持。 | 58| BACKUP | 9 | [BackupExtensionAbility](../apis-core-file-kit/js-apis-application-backupExtensionAbility.md):数据备份扩展能力,提供应用数据的备份恢复能力。 | 59|<!--DelRow--> WINDOW | 10 | [WindowExtensionAbility](../apis-arkui/js-apis-application-windowExtensionAbility-sys.md):界面组合扩展能力,允许系统应用进行跨应用的界面拉起和嵌入。 | 60| ENTERPRISE_ADMIN | 11 | [EnterpriseAdminExtensionAbility](../apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md):企业设备管理扩展能力,提供企业管理时处理管理事件的能力,比如设备上应用安装事件、锁屏密码输入错误次数过多事件等。 | 61|<!--DelRow--> THUMBNAIL | 13 | ThumbnailExtensionAbility:文件缩略图扩展能力,用于为文件提供图标缩略图的能力。预留能力,仅系统应用支持。 | 62|<!--DelRow--> PREVIEW | 14 | PreviewExtensionAbility:文件预览扩展能力,提供文件预览的能力,其他应用可以直接在应用中嵌入显示。预留能力,仅系统应用支持。 | 63|<!--DelRow--> PRINT<sup>10+</sup> | 15 | PrintExtensionAbility:文件打印扩展能力,提供应用打印照片、文档等办公场景。仅系统应用支持。 | 64| SHARE<sup>10+</sup> | 16 | [ShareExtensionAbility](js-apis-app-ability-shareExtensionAbility.md):提供分享业务能力,为开发者提供基于UIExtension的分享业务模板。 | 65|<!--DelRow--> PUSH<sup>10+</sup> | 17 | PushExtensionAbility:推送扩展能力,提供推送场景化消息能力。预留能力,仅系统应用支持。 | 66| DRIVER<sup>10+</sup> | 18 | [DriverExtensionAbility](../apis-driverdevelopment-kit/js-apis-app-ability-driverExtensionAbility.md):驱动扩展能力,提供外设驱动扩展能力。应用配置了driver类型的ExtensionAbility后会被视为驱动应用,驱动应用在安装、卸载和恢复时不会区分用户,且创建新用户时也会安装设备上已有的驱动应用。例如,创建子用户时会默认安装主用户已有的驱动应用,在子用户上卸载驱动应用时,主用户上对应的驱动应用也会同时被卸载。 | 67| ACTION<sup>10+</sup> | 19 | [ActionExtensionAbility](js-apis-app-ability-actionExtensionAbility.md):自定义服务扩展能力,为开发者提供基于UIExtension的自定义操作业务模板。 | 68|<!--DelRow--> ADS_SERVICE<sup>11+</sup> | 20 | AdsServiceExtensionAbility:广告服务扩展能力,对外提供后台自定义广告业务服务,仅系统应用支持。 | 69| EMBEDDED_UI<sup>12+</sup> | 21 | [EmbeddedUIExtensionAbility](js-apis-app-ability-embeddedUIExtensionAbility.md):嵌入式UI扩展能力,提供跨进程界面嵌入的能力。 | 70| INSIGHT_INTENT_UI<sup>12+</sup> | 22 | InsightIntentUIExtensionAbility:为开发者提供能被小艺意图调用,以窗口形态呈现内容的扩展能力。 | 71| FENCE<sup>18+</sup> | 24 | [FenceExtensionAbility](../apis-location-kit/js-apis-app-ability-FenceExtensionAbility.md):为开发者提供地理围栏相关的能力,继承自ExtensionAbility。 | 72| ASSET_ACCELERATION<sup>18+</sup> | 26 | AssetAccelerationExtensionAbility:资源预下载扩展能力,提供在设备闲时状态,进行后台资源预下载的能力。 | 73| FORM_EDIT<sup>18+</sup> | 27 | [FormEditExtensionAbility](../apis-form-kit/js-apis-app-form-formEditExtensionAbility.md):为开发者提供卡片编辑的能力,继承自UIExtensionAbility。 | 74| DISTRIBUTED<sup>20+</sup> | 28 | [DistributedExtensionAbility](../apis-distributedservice-kit/js-apis-distributedExtensionAbility.md):提供分布式相关扩展能力,提供分布式创建、销毁、连接的生命周期回调。 | 75| APP_SERVICE<sup>20+</sup> | 29 | [AppServiceExtensionAbility](../apis-ability-kit/js-apis-app-ability-appServiceExtensionAbility.md):为企业普通应用提供后台服务能力。 | 76| LIVE_FORM<sup>20+</sup> | 30 | [LiveFormExtensionAbility](../apis-form-kit/js-apis-app-form-LiveFormExtensionAbility.md):互动卡片相关扩展能力,提供互动卡片创建、销毁的生命周期回调。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。| 77| UNSPECIFIED | 255 | 不指定类型<!--Del-->,配合[queryExtensionAbilityInfo接口](js-apis-bundleManager-sys.md#bundlemanagerqueryextensionabilityinfo)可以查询所有类型的ExtensionAbility<!--DelEnd-->。 | 78<!--RP2--><!--RP2End--> 79 80## PermissionGrantState 81 82权限授予状态。 83 84**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 85 86**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 87 88| 名称 | 值 | 说明 | 89|:----------------:|:---:|:---:| 90| PERMISSION_DENIED| -1 | 拒绝授予权限。 | 91| PERMISSION_GRANTED | 0 | 授予权限。 | 92 93## SupportWindowMode 94 95标识该组件所支持的窗口模式。 96 97**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 98 99**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 100 101| 名称 | 值 | 说明 | 102|:----------------:|:---:|:---:| 103| FULL_SCREEN | 0 | 窗口支持全屏显示。 | 104| SPLIT | 1 | 窗口支持分屏显示。 | 105| FLOATING | 2 | 支持窗口化显示,即显示悬浮窗口。 | 106 107## LaunchType 108 109指示组件的启动方式。 110 111**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 112 113**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 114 115| 名称 | 值 | 说明 | 116|:----------------:|:---:|:---:| 117| SINGLETON | 0 | ability的启动模式,表示单实例。 | 118| MULTITON | 1 | ability的启动模式,表示普通多实例。 | 119| SPECIFIED | 2 | ability的启动模式,表示该ability内部根据业务自己指定多实例。 | 120 121## AbilityType 122 123指示Ability组件的类型。 124 125**模型约束:** 仅可在FA模型下使用。 126 127**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 128 129| 名称 | 值 | 说明 | 130| :-----: | ---- | :--------------------------------------------------------: | 131| PAGE | 1 | UI界面类型的Ability。表示基于Page模板开发的FA,用于提供与用户交互的能力。 | 132| SERVICE | 2 | 后台服务类型的Ability,无UI界面。表示基于Service模板开发的PA,用于提供后台运行任务的能力。 | 133| DATA | 3 | 表示基于Data模板开发的PA,用于对外部提供统一的数据访问对象。 | 134 135## DisplayOrientation 136 137标识该Ability的显示模式。仅适用于page类型的Ability。 138 139**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 140 141**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 142 143| 名称 |值 |说明 | 144|:----------------------------------|---|---| 145| UNSPECIFIED |0 |表示未定义方向模式,由系统判定。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 146| LANDSCAPE |1 |表示横屏显示模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 147| PORTRAIT |2 |表示竖屏显示模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 148| FOLLOW_RECENT |3 |表示跟随上一个显示模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 149| LANDSCAPE_INVERTED |4 |表示反向横屏显示模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 150| PORTRAIT_INVERTED |5 |表示反向竖屏显示模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 151| AUTO_ROTATION |6 |表示传感器在旋转到横向和竖向时,页面会自动旋转。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 152| AUTO_ROTATION_LANDSCAPE |7 |表示传感器在旋转到横向时,页面会自动旋转。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 153| AUTO_ROTATION_PORTRAIT |8 |表示传感器在旋转到竖向时,页面会自动旋转。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 154| AUTO_ROTATION_RESTRICTED |9 |表示受开关控制的自动旋转模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 155| AUTO_ROTATION_LANDSCAPE_RESTRICTED |10|表述受开关控制的自动横向旋转模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。| 156| AUTO_ROTATION_PORTRAIT_RESTRICTED |11|表示受开关控制的自动竖向旋转模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。| 157| LOCKED |12|表示锁定模式。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。| 158| AUTO_ROTATION_UNSPECIFIED<sup>12+</sup> |13|受开关控制和由系统判定的自动旋转模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 159| FOLLOW_DESKTOP<sup>12+</sup> |14|跟随桌面的旋转模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 160 161## CompatiblePolicy<sup>10+</sup> 162 163标识共享库的版本兼容类型。 164 165**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 166 167**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 168 169| 名称 | 值 | 说明 | 170| ---------------------- | ---- | -------------------------------- | 171| BACKWARD_COMPATIBILITY | 1 | 共享库是向后兼容类型。 | 172 173## ModuleType 174 175标识模块类型。 176 177**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 178 179**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 180 181| 名称 | 值 | 说明 | 182| ------- | ---- | -------------------- | 183| ENTRY | 1 | 应用的主模块,作为应用的入口,提供了应用的基础功能。 | 184| FEATURE | 2 | 应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。 | 185| SHARED | 3 | 应用的[动态共享库](../../quick-start/in-app-hsp.md)模块。 | 186 187## BundleType 188 189标识应用的类型。 190 191**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 192 193**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 194 195| 名称 | 值 | 说明 | 196| -------------- | ---- | --------------- | 197| APP | 0 | 该Bundle是应用。 | 198| ATOMIC_SERVICE | 1 | 该Bundle是原子化服务。 | 199 200## MultiAppModeType<sup>12+</sup> 201标识应用多开的模式类型。 202 203**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 204 205| 名称 | 值 | 说明 | 206|:----------------:|:---:|:---:| 207| UNSPECIFIED| 0 | 未指定类型,表示[multiAppMode配置](../../quick-start/app-configuration-file.md#multiappmode标签)未配置时的默认状态。 | 208| MULTI_INSTANCE | 1 | [多实例模式](../../quick-start/multiInstance.md)。常驻进程不支持该字段。 | 209| APP_CLONE | 2 | [分身模式](../../quick-start/app-clone.md)。 | 210 211## AbilityFlag<sup>20+</sup> 212 213Ability组件信息标志,指示需要获取的Ability组件信息的内容。 214 215**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 216 217**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 218 219| 名称 | 值 | 说明 | 220| --------------------------------- | ---------- | ------------------------------------------------------------ | 221| GET_ABILITY_INFO_DEFAULT | 0x00000000 | 获取默认[AbilityInfo](js-apis-bundleManager-abilityInfo.md),获取的AbilityInfo不包含permissions、metadata、被禁用Ability对应的AbilityInfo。<!--Del-->通过[setAbilityEnabled接口](./js-apis-bundleManager-sys.md#bundlemanagersetabilityenabled)可设置Ability禁用状态、通过[isAbilityEnabled接口](./js-apis-bundleManager-sys.md#bundlemanagerisabilityenabled-1)可获取Ability禁用状态。<!--DelEnd-->| 222| GET_ABILITY_INFO_WITH_PERMISSION | 0x00000001 | 获取包含permissions的AbilityInfo。 | 223| GET_ABILITY_INFO_WITH_APPLICATION | 0x00000002 | 获取包含applicationInfo的AbilityInfo。 | 224| GET_ABILITY_INFO_WITH_METADATA | 0x00000004 | 获取包含metadata的AbilityInfo。 | 225| GET_ABILITY_INFO_WITH_DISABLE | 0x00000008 | 获取被禁用Ability对应的AbilityInfo。 | 226| GET_ABILITY_INFO_ONLY_SYSTEM_APP | 0x00000010 | 获取系统应用对应的AbilityInfo。 | 227| GET_ABILITY_INFO_WITH_APP_LINKING | 0x00000040 | 获取通过<!--RP3-->[域名校验](../../application-models/app-linking-startup.md#实现原理)<!--RP3End-->筛选的AbilityInfo。 | 228| GET_ABILITY_INFO_WITH_SKILL | 0x00000080 | 获取包含skills的AbilityInfo。 | 229 230## bundleManager.getBundleInfoForSelf 231 232getBundleInfoForSelf(bundleFlags: number): Promise\<BundleInfo> 233 234根据给定的bundleFlags获取当前应用的BundleInfo,使用Promise异步回调。 235 236**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 237 238**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 239 240**参数:** 241 242| 参数名 | 类型 | 必填 | 说明 | 243| ----------- | ------ | ---- | --------------------- | 244| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 245 246**返回值:** 247 248| 类型 | 说明 | 249| ----------------------------------------------------------- | ------------------------------------- | 250| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回当前应用的BundleInfo。| 251 252**错误码:** 253 254以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 255 256| 错误码ID | 错误信息 | 257| -------- | ------------------------------------------------------------ | 258| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 259 260**示例:** 261 262```ts 263// 获取bundleInfo,包含带有metadataArray信息的appInfo信息 264import { bundleManager } from '@kit.AbilityKit'; 265import { BusinessError } from '@kit.BasicServicesKit'; 266import { hilog } from '@kit.PerformanceAnalysisKit'; 267 268let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA; 269 270try { 271 bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => { 272 hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data)); 273 }).catch((err: BusinessError) => { 274 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message); 275 }); 276} catch (err) { 277 let message = (err as BusinessError).message; 278 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message); 279} 280``` 281 282## bundleManager.getBundleInfoForSelf 283 284getBundleInfoForSelf(bundleFlags: number, callback: AsyncCallback\<BundleInfo>): void 285 286根据给定的bundleFlags获取当前应用的BundleInfo,使用callback异步回调。 287 288**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 289 290**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 291 292**参数:** 293 294| 参数名 | 类型 | 必填 | 说明 | 295| ----------- | ------ | ---- | --------------------- | 296| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 297| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的当前应用的BundleInfo;否则为错误对象。 | 298 299**错误码:** 300 301以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 302 303| 错误码ID | 错误信息 | 304| -------- | ------------------------------------------------------------ | 305| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 306 307**示例:** 308 309```ts 310// 获取bundleInfo,包含permissions信息的abilitiesInfo信息 311import { bundleManager } from '@kit.AbilityKit'; 312import { BusinessError } from '@kit.BasicServicesKit'; 313import { hilog } from '@kit.PerformanceAnalysisKit'; 314 315let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_ABILITY | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 316 317try { 318 bundleManager.getBundleInfoForSelf(bundleFlags, (err, data) => { 319 if (err) { 320 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message); 321 } else { 322 hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully: %{public}s', JSON.stringify(data)); 323 } 324 }); 325} catch (err) { 326 let message = (err as BusinessError).message; 327 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message); 328} 329``` 330 331## bundleManager.getProfileByAbility 332 333getProfileByAbility(moduleName: string, abilityName: string, metadataName: string, callback: AsyncCallback\<Array\<string\>\>): void 334 335根据给定的moduleName、abilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,使用callback异步回调。 336 337>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 338 339**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 340 341**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 342 343**参数:** 344 345| 参数名 | 类型 | 必填 | 说明 | 346| ------------ | ----------------------------- | ---- | ------------------------------------------------------------ | 347| moduleName | string | 是 | 表示Module名称。 | 348| abilityName | string | 是 | 表示UIAbility组件的名称。 | 349| metadataName | string | 是 | 表示UIAbility组件的[元信息名称](../../quick-start/module-configuration-file.md#metadata标签),即module.json5配置文件中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)下的metadata标签的name。 | 350| callback | AsyncCallback<Array\<string>> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的Array\<string>;否则为错误对象。 | 351 352**错误码:** 353 354以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 355 356| 错误码ID | 错误信息 | 357| -------- | ------------------------------------------------------------ | 358| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 359| 17700002 | The specified moduleName is not existed. | 360| 17700003 | The specified abilityName is not existed. | 361| 17700024 | Failed to get the profile because there is no profile in the HAP. | 362| 17700029 | The specified ability is disabled. | 363 364**示例:** 365 366```ts 367import { bundleManager } from '@kit.AbilityKit'; 368import { BusinessError } from '@kit.BasicServicesKit'; 369import { hilog } from '@kit.PerformanceAnalysisKit'; 370 371let moduleName = 'entry'; 372let abilityName = 'EntryAbility'; 373let metadataName = 'ability_metadata'; 374 375try { 376 bundleManager.getProfileByAbility(moduleName, abilityName, metadataName, (err, data) => { 377 if (err) { 378 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 379 } else { 380 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully: %{public}s', JSON.stringify(data)); 381 } 382 }); 383} catch (err) { 384 let message = (err as BusinessError).message; 385 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', message); 386} 387``` 388 389## bundleManager.getProfileByAbility 390 391getProfileByAbility(moduleName: string, abilityName: string, metadataName?: string): Promise\<Array\<string\>\> 392 393根据给定的moduleName、abilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,使用Promise异步回调。 394 395>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 396 397**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 398 399**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 400 401**参数:** 402 403| 参数名 | 类型 | 必填 | 说明 | 404| ------------ | ------ | ---- | -------------------------- | 405| moduleName | string | 是 | 表示Module名称。 | 406| abilityName | string | 是 | 表示UIAbility组件的名称。 | 407| metadataName | string | 否 | 表示UIAbility组件的元信息名称,即module.json5配置文件中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)下的metadata标签的name,默认值为空。 | 408 409**返回值:** 410 411| 类型 | 说明 | 412| ----------------------- | ------------------------------- | 413| Promise<Array\<string>> | Promise对象,返回Array\<string>。 | 414 415**错误码:** 416 417以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 418 419| 错误码ID | 错误信息 | 420| -------- | ------------------------------------------------------------ | 421| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 422| 17700002 | The specified moduleName is not existed. | 423| 17700003 | The specified abilityName is not existed. | 424| 17700024 | Failed to get the profile because there is no profile in the HAP. | 425| 17700029 | The specified ability is disabled. | 426 427**示例:** 428 429```ts 430import { bundleManager } from '@kit.AbilityKit'; 431import { BusinessError } from '@kit.BasicServicesKit'; 432import { hilog } from '@kit.PerformanceAnalysisKit'; 433 434let moduleName = 'entry'; 435let abilityName = 'EntryAbility'; 436 437try { 438 // 通过模块名称和ability名称获取相应配置文件的json格式字符串信息 439 bundleManager.getProfileByAbility(moduleName, abilityName).then((data) => { 440 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data)); 441 }).catch((err: BusinessError) => { 442 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 443 }); 444} catch (err) { 445 let message = (err as BusinessError).message; 446 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', message); 447} 448``` 449 450```ts 451import { bundleManager } from '@kit.AbilityKit'; 452import { BusinessError } from '@kit.BasicServicesKit'; 453import { hilog } from '@kit.PerformanceAnalysisKit'; 454 455let moduleName = 'entry'; 456let abilityName = 'EntryAbility'; 457let metadataName = 'ability_metadata'; 458 459try { 460 // 通过模块名称,ability名称和UIAbility组件的元信息名称获取自身相应配置文件的json格式字符串信息 461 bundleManager.getProfileByAbility(moduleName, abilityName, metadataName).then((data) => { 462 hilog.info(0x0000, 'testTag', 'getProfileByAbility successfully. Data: %{public}s', JSON.stringify(data)); 463 }).catch((err: BusinessError) => { 464 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', err.message); 465 }); 466} catch (err) { 467 let message = (err as BusinessError).message; 468 hilog.error(0x0000, 'testTag', 'getProfileByAbility failed. Cause: %{public}s', message); 469} 470``` 471 472## bundleManager.getProfileByAbilitySync<sup>10+</sup> 473 474getProfileByAbilitySync(moduleName: string, abilityName: string, metadataName?: string): Array\<string\> 475 476以同步方法根据给定的moduleName、abilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,返回对象为string数组。 477 478>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 479 480**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 481 482**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 483 484**参数:** 485 486| 参数名 | 类型 | 必填 | 说明 | 487| ------------ | ------ | ---- | -------------------------- | 488| moduleName | string | 是 | 表示Module名称。 | 489| abilityName | string | 是 | 表示UIAbility组件的名称。 | 490| metadataName | string | 否 | 表示UIAbility组件的元信息名称,即module.json5配置文件中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)下的metadata标签的name,默认值为空。 | 491 492**返回值:** 493 494| 类型 | 说明 | 495| ----------------------- | ------------------------------- | 496| Array\<string> | 数组对象,返回Array\<string>。 | 497 498**错误码:** 499 500以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 501 502| 错误码ID | 错误信息 | 503| -------- | ------------------------------------------------------------ | 504| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 505| 17700002 | The specified moduleName is not existed. | 506| 17700003 | The specified abilityName is not existed. | 507| 17700024 | Failed to get the profile because there is no profile in the HAP. | 508| 17700029 | The specified ability is disabled. | 509 510**示例:** 511 512```ts 513import { bundleManager } from '@kit.AbilityKit'; 514import { BusinessError } from '@kit.BasicServicesKit'; 515import { hilog } from '@kit.PerformanceAnalysisKit'; 516 517let moduleName = 'entry'; 518let abilityName = 'EntryAbility'; 519 520try { 521 // 通过模块名称和ability名称获取相应配置文件的json格式字符串信息 522 let data = bundleManager.getProfileByAbilitySync(moduleName, abilityName); 523 hilog.info(0x0000, 'testTag', 'getProfileByAbilitySync successfully. Data: %{public}s', JSON.stringify(data)); 524} catch (err) { 525 let message = (err as BusinessError).message; 526 hilog.error(0x0000, 'testTag', 'getProfileByAbilitySync failed. Cause: %{public}s', message); 527} 528``` 529 530```ts 531import { bundleManager } from '@kit.AbilityKit'; 532import { BusinessError } from '@kit.BasicServicesKit'; 533import { hilog } from '@kit.PerformanceAnalysisKit'; 534 535let moduleName: string = 'entry'; 536let abilityName: string = 'EntryAbility'; 537let metadataName: string = 'ability_metadata'; 538 539try { 540 // 通过模块名称,ability名称和UIAbility组件的元信息名称获取相应配置文件的json格式字符串信息 541 let data = bundleManager.getProfileByAbilitySync(moduleName, abilityName, metadataName); 542 hilog.info(0x0000, 'testTag', 'getProfileByAbilitySync successfully. Data: %{public}s', JSON.stringify(data)); 543} catch (err) { 544 let message = (err as BusinessError).message; 545 hilog.error(0x0000, 'testTag', 'getProfileByAbilitySync failed. Cause: %{public}s', message); 546} 547``` 548 549## bundleManager.getProfileByExtensionAbility 550 551getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName: string, callback: AsyncCallback\<Array\<string\>\>): void 552 553根据给定的moduleName、extensionAbilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,使用callback异步回调。 554 555>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 556 557**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 558 559**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 560 561**参数:** 562 563| 参数名 | 类型 | 必填 | 说明 | 564| -------------------- | ----------------------------- | ---- | ------------------------------------------------------------ | 565| moduleName | string | 是 | 表示Module名称。 | 566| extensionAbilityName | string | 是 | 表示ExtensionAbility组件的名称。 | 567| metadataName | string | 是 | 表示ExtensionAbility组件的元信息名称,即module.json5配置文件中[extensionAbilities标签](../../quick-start/module-configuration-file.md#extensionabilities标签)下的metadata标签的name。 | 568| callback | AsyncCallback<Array\<string>> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的Array\<string>;否则为错误对象。 | 569 570**错误码:** 571 572以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 573 574| 错误码ID | 错误信息 | 575| -------- | ------------------------------------------------------------ | 576| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 577| 17700002 | The specified moduleName is not existed. | 578| 17700003 | The specified extensionAbilityName not existed. | 579| 17700024 | Failed to get the profile because there is no profile in the HAP. | 580 581**示例:** 582 583```ts 584import { bundleManager } from '@kit.AbilityKit'; 585import { BusinessError } from '@kit.BasicServicesKit'; 586import { hilog } from '@kit.PerformanceAnalysisKit'; 587 588let moduleName = 'entry'; 589let extensionAbilityName = 'com.example.myapplication.extension'; 590let metadataName = 'ability_metadata'; 591 592try { 593 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName, (err, data) => { 594 if (err) { 595 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', err.message); 596 } else { 597 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully: %{public}s', JSON.stringify(data)); 598 } 599 }); 600} catch (err) { 601 let message = (err as BusinessError).message; 602 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed: %{public}s', message); 603} 604``` 605 606## bundleManager.getProfileByExtensionAbility 607 608getProfileByExtensionAbility(moduleName: string, extensionAbilityName: string, metadataName?: string): Promise\<Array\<string\>\> 609 610根据给定的moduleName、extensionAbilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,使用Promise异步回调。 611 612>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 613 614**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 615 616**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 617 618**参数:** 619 620| 参数名 | 类型 | 必填 | 说明 | 621| -------------------- | ------ | ---- | ---------------------------------- | 622| moduleName | string | 是 | 表示Module名称。 | 623| extensionAbilityName | string | 是 | 表示ExtensionAbility组件的名称。 | 624| metadataName | string | 否 | 表示ExtensionAbility组件的元信息名称,即module.json5配置文件中[extensionAbilities标签](../../quick-start/module-configuration-file.md#extensionabilities标签)下的metadata标签的name,默认值为空。 | 625 626**返回值:** 627 628| 类型 | 说明 | 629| ----------------------- | ----------------------------------- | 630| Promise<Array\<string>> | Promise对象,返回Array\<string>对象。 | 631 632**错误码:** 633 634以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 635 636| 错误码ID | 错误信息 | 637| -------- | ------------------------------------------------------------ | 638| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 639| 17700002 | The specified moduleName is not existed. | 640| 17700003 | The specified extensionAbilityName not existed. | 641| 17700024 | Failed to get the profile because there is no profile in the HAP. | 642 643**示例:** 644 645```ts 646import { bundleManager } from '@kit.AbilityKit'; 647import { BusinessError } from '@kit.BasicServicesKit'; 648import { hilog } from '@kit.PerformanceAnalysisKit'; 649 650let moduleName = 'entry'; 651let extensionAbilityName = 'com.example.myapplication.extension'; 652let metadataName = 'ability_metadata'; 653 654try { 655 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName).then((data) => { 656 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data)); 657 }).catch((err: BusinessError) => { 658 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 659 }); 660} catch (err) { 661 let message = (err as BusinessError).message; 662 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', message); 663} 664 665try { 666 bundleManager.getProfileByExtensionAbility(moduleName, extensionAbilityName, metadataName).then((data) => { 667 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbility successfully. Data: %{public}s', JSON.stringify(data)); 668 }).catch((err: BusinessError) => { 669 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', err.message); 670 }); 671} catch (err) { 672 let message = (err as BusinessError).message; 673 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbility failed. Cause: %{public}s', message); 674} 675``` 676 677## bundleManager.getProfileByExtensionAbilitySync<sup>10+</sup> 678 679getProfileByExtensionAbilitySync(moduleName: string, extensionAbilityName: string, metadataName?: string): Array\<string\> 680 681以同步方法根据给定的moduleName、extensionAbilityName和metadataName(module.json5中[metadata标签](../../quick-start/module-configuration-file.md#metadata标签)下的name)获取自身相应配置文件的json格式字符串,返回对象为string数组。 682 683>如果配置文件信息采用了资源引用格式,则返回值将保持资源引用格式(例如 $string:res_id),开发者可以通过[资源管理模块](../apis-localization-kit/js-apis-resource-manager.md)的相关接口,来获取引用的资源。 684 685**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 686 687**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 688 689**参数:** 690 691| 参数名 | 类型 | 必填 | 说明 | 692| -------------------- | ------ | ---- | ---------------------------------- | 693| moduleName | string | 是 | 表示Module名称。 | 694| extensionAbilityName | string | 是 | 表示ExtensionAbility组件的名称。 | 695| metadataName | string | 否 | 表示ExtensionAbility组件的元信息名称,即module.json5配置文件中[extensionAbilities标签](../../quick-start/module-configuration-file.md#extensionabilities标签)下的metadata标签的name,默认值为空。 | 696 697**返回值:** 698 699| 类型 | 说明 | 700| ----------------------- | ----------------------------------- | 701| Array\<string> | 返回Array\<string>对象。 | 702 703**错误码:** 704 705以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 706 707| 错误码ID | 错误信息 | 708| -------- | ------------------------------------------------------------ | 709| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 710| 17700002 | The specified moduleName is not existed. | 711| 17700003 | The specified extensionAbilityName not existed. | 712| 17700024 | Failed to get the profile because there is no profile in the HAP. | 713 714**示例:** 715 716```ts 717import { bundleManager } from '@kit.AbilityKit'; 718import { BusinessError } from '@kit.BasicServicesKit'; 719import { hilog } from '@kit.PerformanceAnalysisKit'; 720 721let moduleName = 'entry'; 722let extensionAbilityName = 'com.example.myapplication.extension'; 723let metadataName = 'ability_metadata'; 724 725try { 726 let data = bundleManager.getProfileByExtensionAbilitySync(moduleName, extensionAbilityName); 727 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbilitySync successfully. Data: %{public}s', JSON.stringify(data)); 728} catch (err) { 729 let message = (err as BusinessError).message; 730 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbilitySync failed. Cause: %{public}s', message); 731} 732 733try { 734 let data = bundleManager.getProfileByExtensionAbilitySync(moduleName, extensionAbilityName, metadataName); 735 hilog.info(0x0000, 'testTag', 'getProfileByExtensionAbilitySync successfully. Data: %{public}s', JSON.stringify(data)); 736} catch (err) { 737 let message = (err as BusinessError).message; 738 hilog.error(0x0000, 'testTag', 'getProfileByExtensionAbilitySync failed. Cause: %{public}s', message); 739} 740``` 741 742## bundleManager.getBundleInfoForSelfSync<sup>10+</sup> 743 744getBundleInfoForSelfSync(bundleFlags: number): BundleInfo 745 746以同步方法根据给定的bundleFlags获取当前应用的BundleInfo。 747 748**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 749 750**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 751 752**参数:** 753 754| 参数名 | 类型 | 必填 | 说明 | 755| ----------- | ------ | ---- | --------------------- | 756| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 757 758**返回值:** 759 760| 类型 | 说明 | 761| ------------------------------------------------- | -------------------- | 762| [BundleInfo](js-apis-bundleManager-bundleInfo.md) | 返回BundleInfo对象。 | 763 764**错误码:** 765 766以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 767 768| 错误码ID | 错误信息 | 769| -------- | ------------------------------------------------------------ | 770| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 771 772**示例:** 773 774```ts 775import { bundleManager } from '@kit.AbilityKit'; 776import { BusinessError } from '@kit.BasicServicesKit'; 777import { hilog } from '@kit.PerformanceAnalysisKit'; 778 779let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 780 781try { 782 let data = bundleManager.getBundleInfoForSelfSync(bundleFlags); 783 hilog.info(0x0000, 'testTag', 'getBundleInfoForSelfSync successfully: %{public}s', JSON.stringify(data)); 784} catch (err) { 785 let message = (err as BusinessError).message; 786 hilog.error(0x0000, 'testTag', 'getBundleInfoForSelfSync failed: %{public}s', message); 787} 788``` 789 790## bundleManager.canOpenLink<sup>12+</sup> 791 792canOpenLink(link: string): boolean 793 794查询给定的链接是否可以打开。链接中的scheme需要在[module.json5文件](../../quick-start/module-configuration-file.md)的querySchemes字段下配置。 795 796**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 797 798**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 799 800**参数:** 801 802| 参数名 | 类型 | 必填 | 说明 | 803| ----------- | ------ | ---- | --------------------- | 804| link | string | 是 | 表示需要查询的链接。 | 805 806**返回值:** 807 808| 类型 | 说明 | 809| ------------------------------------------------- | -------------------- | 810| boolean | 返回true表示给定的链接可以打开,返回false表示给定的链接不能打开。 | 811 812**错误码:** 813 814以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 815 816| 错误码ID | 错误信息 | 817| -------- | ------------------------------------------------------------ | 818| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 819| 17700055 | The specified link is invalid. | 820| 17700056 | The scheme of the specified link is not in the querySchemes. | 821 822**示例:** 823 824```ts 825import { bundleManager } from '@kit.AbilityKit'; 826import { BusinessError } from '@kit.BasicServicesKit'; 827import { hilog } from '@kit.PerformanceAnalysisKit'; 828 829try { 830 let link = 'welink://'; 831 let data = bundleManager.canOpenLink(link); 832 hilog.info(0x0000, 'testTag', 'canOpenLink successfully: %{public}s', JSON.stringify(data)); 833} catch (err) { 834 let message = (err as BusinessError).message; 835 hilog.error(0x0000, 'testTag', 'canOpenLink failed: %{public}s', message); 836} 837``` 838 839## bundleManager.getLaunchWant<sup>13+</sup> 840 841getLaunchWant(): Want 842 843获取本应用启动应用程序的Want参数。 844 845**原子化服务API:** 从API version 13开始,该接口支持在原子化服务中使用。 846 847**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 848 849**返回值:** 850 851| 类型 | 说明 | 852| ----------------------------------- | ------------------------------------------- | 853| [Want](js-apis-app-ability-want.md) | 返回包含bundleName和abilityName的Want对象。 | 854 855**错误码:** 856 857以下错误码的详细介绍请参见[ohos.bundle错误码](errorcode-bundle.md)。 858 859| 错误码ID | 错误信息 | 860| -------- | ----------------------------- | 861| 17700072 | The launch want is not found. | 862 863**示例:** 864 865```ts 866import { BusinessError } from '@kit.BasicServicesKit'; 867import { bundleManager } from '@kit.AbilityKit'; 868import { hilog } from '@kit.PerformanceAnalysisKit'; 869 870try { 871 let want = bundleManager.getLaunchWant(); 872 hilog.info(0x0000, 'testTag', 'getLaunchWant ability name: %{public}s', want.abilityName); 873 hilog.info(0x0000, 'testTag', 'getLaunchWant bundle name: %{public}s', want.bundleName); 874} catch (error) { 875 let message = (error as BusinessError).message; 876 hilog.error(0x0000, 'testTag', 'getLaunchWant failed: %{public}s', message); 877} 878``` 879 880## bundleManager.getBundleInfo<sup>14+</sup> 881 882getBundleInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback\<BundleInfo>): void 883 884根据给定的bundleName、bundleFlags和userId获取BundleInfo,使用callback异步回调。 885 886获取调用方自身信息时不需要权限。 887 888**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 889 890**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 891 892**参数:** 893 894| 参数名 | 类型 | 必填 | 说明 | 895| ----------- | ------ | ---- | ---------------------------- | 896| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 897| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。| 898| userId | number | 是 | 表示用户ID,可以通过[getOsAccountLocalId接口](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)获取。 | 899| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的bundleInfo;否则为错误对象。 | 900 901**错误码:** 902 903以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 904 905| 错误码ID | 错误信息 | 906| -------- | ------------------------------------- | 907| 201 | Permission denied. | 908| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 909| 17700001 | The specified bundleName is not found. | 910| 17700004 | The specified user ID is not found. | 911| 17700026 | The specified bundle is disabled. | 912 913**示例:** 914 915```ts 916// 额外获取包含AbilityInfo信息的bundleInfo 917import { bundleManager } from '@kit.AbilityKit'; 918import { BusinessError } from '@kit.BasicServicesKit'; 919import { hilog } from '@kit.PerformanceAnalysisKit'; 920 921let bundleName = 'com.example.myapplication'; 922let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_ABILITY; 923let userId = 100; 924 925try { 926 bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => { 927 if (err) { 928 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 929 } else { 930 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 931 } 932 }); 933} catch (err) { 934 let message = (err as BusinessError).message; 935 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message); 936} 937``` 938 939```ts 940// 额外获取包含ApplicationInfo中的metadata的bundleInfo 941import { bundleManager } from '@kit.AbilityKit'; 942import { BusinessError } from '@kit.BasicServicesKit'; 943import { hilog } from '@kit.PerformanceAnalysisKit'; 944 945let bundleName = 'com.example.myapplication'; 946let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA; 947let userId = 100; 948 949try { 950 bundleManager.getBundleInfo(bundleName, bundleFlags, userId, (err, data) => { 951 if (err) { 952 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 953 } else { 954 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 955 } 956 }); 957} catch (err) { 958 let message = (err as BusinessError).message; 959 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message); 960} 961``` 962 963## bundleManager.getBundleInfo<sup>14+</sup> 964 965getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>): void 966 967根据给定的bundleName和bundleFlags获取BundleInfo,使用callback异步回调。 968 969获取调用方自身的信息时不需要权限。 970 971**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 972 973**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 974 975**参数:** 976 977| 参数名 | 类型 | 必填 | 说明 | 978| ----------- | ------ | ---- | ---------------------------- | 979| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 980| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。| 981| callback | AsyncCallback\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的BundleInfo;否则为错误对象。 | 982 983**错误码:** 984 985以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 986 987| 错误码ID | 错误信息 | 988| -------- | ------------------------------------- | 989| 201 | Permission denied. | 990| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 991| 17700001 | The specified bundleName is not found. | 992| 17700026 | The specified bundle is disabled. | 993 994**示例:** 995 996```ts 997// 额外获取extensionAbility 998import { bundleManager } from '@kit.AbilityKit'; 999import { BusinessError } from '@kit.BasicServicesKit'; 1000import { hilog } from '@kit.PerformanceAnalysisKit'; 1001 1002let bundleName = 'com.example.myapplication'; 1003let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_HAP_MODULE | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY; 1004 1005try { 1006 bundleManager.getBundleInfo(bundleName, bundleFlags, (err, data) => { 1007 if (err) { 1008 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', err.message); 1009 } else { 1010 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully: %{public}s', JSON.stringify(data)); 1011 } 1012 }); 1013} catch (err) { 1014 let message = (err as BusinessError).message; 1015 hilog.error(0x0000, 'testTag', 'getBundleInfo failed: %{public}s', message); 1016} 1017``` 1018 1019## bundleManager.getBundleInfo<sup>14+</sup> 1020 1021getBundleInfo(bundleName: string, bundleFlags: number, userId?: number): Promise\<BundleInfo> 1022 1023根据给定的bundleName、bundleFlags和userId获取BundleInfo,使用Promise异步回调。 1024 1025获取调用方自身的信息时不需要权限。 1026 1027**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1028 1029**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1030 1031**参数:** 1032 1033| 参数名 | 类型 | 必填 | 说明 | 1034| ----------- | ------ | ---- | ---------------------------- | 1035| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 1036| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 1037| userId | number | 否 | 表示用户ID,可以通过[getOsAccountLocalId接口](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)获取,默认值:调用方所在用户,取值范围:大于等于0。 | 1038 1039**返回值:** 1040 1041| 类型 | 说明 | 1042| ----------------------------------------------------------- | --------------------------- | 1043| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回BundleInfo。 | 1044 1045**错误码:** 1046 1047以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1048 1049| 错误码ID | 错误信息 | 1050| -------- | --------------------------------------| 1051| 201 | Permission denied. | 1052| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1053| 17700001 | The specified bundleName is not found. | 1054| 17700004 | The specified user ID is not found. | 1055| 17700026 | The specified bundle is disabled. | 1056 1057**示例:** 1058 1059```ts 1060// 额外获取ApplicationInfo和SignatureInfo 1061import { bundleManager } from '@kit.AbilityKit'; 1062import { BusinessError } from '@kit.BasicServicesKit'; 1063import { hilog } from '@kit.PerformanceAnalysisKit'; 1064 1065let bundleName = 'com.example.myapplication'; 1066let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO; 1067let userId = 100; 1068 1069try { 1070 bundleManager.getBundleInfo(bundleName, bundleFlags, userId).then((data) => { 1071 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data)); 1072 }).catch((err: BusinessError) => { 1073 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 1074 }); 1075} catch (err) { 1076 let message = (err as BusinessError).message; 1077 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', message); 1078} 1079``` 1080 1081```ts 1082import { bundleManager } from '@kit.AbilityKit'; 1083import { BusinessError } from '@kit.BasicServicesKit'; 1084import { hilog } from '@kit.PerformanceAnalysisKit'; 1085 1086let bundleName = 'com.example.myapplication'; 1087let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 1088 1089try { 1090 bundleManager.getBundleInfo(bundleName, bundleFlags).then((data) => { 1091 hilog.info(0x0000, 'testTag', 'getBundleInfo successfully. Data: %{public}s', JSON.stringify(data)); 1092 }).catch((err: BusinessError) => { 1093 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', err.message); 1094 }); 1095} catch (err) { 1096 let message = (err as BusinessError).message; 1097 hilog.error(0x0000, 'testTag', 'getBundleInfo failed. Cause: %{public}s', message); 1098} 1099 1100``` 1101 1102## bundleManager.getBundleInfoSync<sup>14+</sup> 1103 1104getBundleInfoSync(bundleName: string, bundleFlags: number, userId: number): BundleInfo 1105 1106以同步方法根据给定的bundleName、bundleFlags和userId获取BundleInfo。 1107 1108获取调用方自身的信息时不需要权限。 1109 1110**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1111 1112**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1113 1114**参数:** 1115 1116| 参数名 | 类型 | 必填 | 说明 | 1117| ----------- | ------ | ---- | -------------------------------------------------------- | 1118| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 1119| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 1120| userId | number | 是 | 表示用户ID,可以通过[getOsAccountLocalId接口](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)获取。 | 1121 1122**返回值:** 1123 1124| 类型 | 说明 | 1125| ---------- | -------------------- | 1126| [BundleInfo](js-apis-bundleManager-bundleInfo.md) | 返回BundleInfo对象。 | 1127 1128**错误码:** 1129 1130以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1131 1132| 错误码ID | 错误信息 | 1133| -------- | ------------------------------------- | 1134| 201 | Permission denied. | 1135| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1136| 17700001 | The specified bundleName is not found. | 1137| 17700004 | The specified user ID is not found. | 1138| 17700026 | The specified bundle is disabled. | 1139 1140**示例:** 1141 1142```ts 1143import { bundleManager } from '@kit.AbilityKit'; 1144import { BusinessError } from '@kit.BasicServicesKit'; 1145import { hilog } from '@kit.PerformanceAnalysisKit'; 1146 1147let bundleName = 'com.example.myapplication'; 1148let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 1149let userId = 100; 1150 1151try { 1152 let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags, userId); 1153 hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data)); 1154} catch (err) { 1155 let message = (err as BusinessError).message; 1156 hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', message); 1157} 1158``` 1159 1160## bundleManager.getBundleInfoSync<sup>14+</sup> 1161 1162getBundleInfoSync(bundleName: string, bundleFlags: number): BundleInfo 1163 1164以同步方法根据给定的bundleName、bundleFlags获取调用方所在用户下的BundleInfo。 1165 1166获取调用方自身的信息时不需要权限。 1167 1168**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1169 1170**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1171 1172**参数:** 1173 1174| 参数名 | 类型 | 必填 | 说明 | 1175| ----------- | --------------------- | ---- | ------------------------------------------------------ | 1176| bundleName | string | 是 | 表示要查询的应用Bundle名称。 | 1177| [bundleFlags](js-apis-bundleManager.md#bundleflag) | number | 是 | 指定返回的BundleInfo所包含的信息。 | 1178 1179**返回值:** 1180 1181| 类型 | 说明 | 1182| ------------------------------------------------- | -------------------- | 1183| [BundleInfo](js-apis-bundleManager-bundleInfo.md) | 返回BundleInfo对象。 | 1184 1185**错误码:** 1186 1187以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1188 1189| 错误码ID | 错误信息 | 1190| -------- | -------------------------------------- | 1191| 201 | Permission denied. | 1192| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1193| 17700001 | The specified bundleName is not found. | 1194| 17700026 | The specified bundle is disabled. | 1195 1196**示例:** 1197 1198```ts 1199import { bundleManager } from '@kit.AbilityKit'; 1200import { BusinessError } from '@kit.BasicServicesKit'; 1201import { hilog } from '@kit.PerformanceAnalysisKit'; 1202 1203let bundleName = 'com.example.myapplication'; 1204let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION; 1205try { 1206 let data = bundleManager.getBundleInfoSync(bundleName, bundleFlags); 1207 hilog.info(0x0000, 'testTag', 'getBundleInfoSync successfully: %{public}s', JSON.stringify(data)); 1208} catch (err) { 1209 let message = (err as BusinessError).message; 1210 hilog.error(0x0000, 'testTag', 'getBundleInfoSync failed: %{public}s', message); 1211} 1212``` 1213 1214## bundleManager.getBundleNameByUid<sup>14+</sup> 1215 1216getBundleNameByUid(uid: number, callback: AsyncCallback\<string>): void 1217 1218根据给定的uid获取对应应用的bundleName,使用callback异步回调。 1219 1220**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1221 1222**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1223 1224**参数:** 1225 1226| 参数名 | 类型 | 必填 | 说明 | 1227| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 1228| uid | number | 是 | 表示应用程序的UID。 | 1229| callback | AsyncCallback\<string> | 是 | [回调函数](../apis-basic-services-kit/js-apis-base.md#asynccallback),当获取成功时,err为null,data为获取到的BundleName;否则为错误对象。 | 1230 1231**错误码:** 1232 1233以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1234 1235| 错误码ID | 错误信息 | 1236| -------- | --------------------- | 1237| 201 | Permission denied. | 1238| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1239| 17700021 | The uid is not found. | 1240 1241**示例:** 1242 1243```ts 1244import { bundleManager } from '@kit.AbilityKit'; 1245import { BusinessError } from '@kit.BasicServicesKit'; 1246import { hilog } from '@kit.PerformanceAnalysisKit'; 1247 1248let uid = 20010005; 1249try { 1250 bundleManager.getBundleNameByUid(uid, (err, data) => { 1251 if (err) { 1252 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', err.message); 1253 } else { 1254 hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully: %{public}s', JSON.stringify(data)); 1255 } 1256 }); 1257} catch (err) { 1258 let message = (err as BusinessError).message; 1259 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed: %{public}s', message); 1260} 1261``` 1262 1263## bundleManager.getBundleNameByUid<sup>14+</sup> 1264 1265getBundleNameByUid(uid: number): Promise\<string> 1266 1267根据给定的uid获取对应应用的bundleName,使用Promise异步回调。 1268 1269**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1270 1271**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1272 1273**参数:** 1274 1275| 参数名 | 类型 | 必填 | 说明 | 1276| ---- | ------ | ---- | ------------------ | 1277| uid | number | 是 | 表示应用程序的UID。 | 1278 1279**返回值:** 1280 1281| 类型 | 说明 | 1282| ---------------- | --------------------------- | 1283| Promise\<string> | Promise对象,返回bundleName。 | 1284 1285**错误码:** 1286 1287以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1288 1289| 错误码ID | 错误信息 | 1290| -------- | ---------------------| 1291| 201 | Permission denied. | 1292| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1293| 17700021 | The uid is not found. | 1294 1295**示例:** 1296 1297```ts 1298import { bundleManager } from '@kit.AbilityKit'; 1299import { BusinessError } from '@kit.BasicServicesKit'; 1300import { hilog } from '@kit.PerformanceAnalysisKit'; 1301 1302let uid = 20010005; 1303try { 1304 bundleManager.getBundleNameByUid(uid).then((data) => { 1305 hilog.info(0x0000, 'testTag', 'getBundleNameByUid successfully. Data: %{public}s', JSON.stringify(data)); 1306 }).catch((err: BusinessError) => { 1307 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', err.message); 1308 }); 1309} catch (err) { 1310 let message = (err as BusinessError).message; 1311 hilog.error(0x0000, 'testTag', 'getBundleNameByUid failed. Cause: %{public}s', message); 1312} 1313``` 1314 1315## bundleManager.getBundleNameByUidSync<sup>14+</sup> 1316 1317getBundleNameByUidSync(uid: number): string 1318 1319以同步方法根据给定的uid获取对应应用的bundleName。 1320 1321**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1322 1323**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1324 1325**参数:** 1326 1327| 参数名 | 类型 | 必填 | 说明 | 1328| ---- | ------ | ---- | ------------------ | 1329| uid | number | 是 | 表示应用程序的UID。 | 1330 1331**返回值:** 1332 1333| 类型 | 说明 | 1334| ---------------- | --------------------------- | 1335| string | 返回获取到的bundleName。 | 1336 1337**错误码:** 1338 1339以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1340 1341| 错误码ID | 错误信息 | 1342| -------- | ---------------------| 1343| 201 | Permission denied. | 1344| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1345| 17700021 | The uid is not found. | 1346 1347**示例:** 1348 1349```ts 1350import { bundleManager } from '@kit.AbilityKit'; 1351import { BusinessError } from '@kit.BasicServicesKit'; 1352import { hilog } from '@kit.PerformanceAnalysisKit'; 1353 1354let uid = 20010005; 1355try { 1356 let data = bundleManager.getBundleNameByUidSync(uid); 1357 hilog.info(0x0000, 'testTag', 'getBundleNameByUidSync successfully. Data: %{public}s', JSON.stringify(data)); 1358} catch (err) { 1359 let message = (err as BusinessError).message; 1360 hilog.error(0x0000, 'testTag', 'getBundleNameByUidSync failed. Cause: %{public}s', message); 1361} 1362``` 1363 1364## bundleManager.getAppCloneIdentity<sup>14+</sup> 1365 1366getAppCloneIdentity(uid: number): Promise\<AppCloneIdentity>; 1367 1368根据uid查询分身应用的包名和分身索引。使用Promise异步回调。 1369 1370**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 1371 1372**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1373 1374**参数:** 1375 1376| 参数名 | 类型 | 必填 | 说明 | 1377| ---------- | ------ | ---- | ---------------------------| 1378| uid | number | 是 | 表示应用程序的UID。 | 1379 1380**返回值:** 1381 1382| 类型 | 说明 | 1383| ----------------------------------------------------------- | --------------------------- | 1384| Promise\<[AppCloneIdentity](js-apis-bundleManager-bundleInfo.md#appcloneidentity14)> | 以Promise方式返回\<AppCloneIdentity>。 | 1385 1386**错误码:** 1387 1388以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1389 1390| 错误码ID | 错误信息 | 1391| -------- | --------------------------------------| 1392| 201 | Permission denied. | 1393| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.| 1394| 17700021 | The uid is not found. | 1395 1396**示例:** 1397 1398```ts 1399import { bundleManager } from '@kit.AbilityKit'; 1400import { BusinessError } from '@kit.BasicServicesKit'; 1401import { hilog } from '@kit.PerformanceAnalysisKit'; 1402 1403let uid = 20010005; 1404 1405try { 1406 bundleManager.getAppCloneIdentity(uid).then((res) => { 1407 hilog.info(0x0000, 'testTag', 'getAppCloneIdentity res = %{public}s', JSON.stringify(res)); 1408 }).catch((err: BusinessError) => { 1409 hilog.error(0x0000, 'testTag', 'getAppCloneIdentity failed. Cause: %{public}s', err.message); 1410 }); 1411} catch (err) { 1412 let message = (err as BusinessError).message; 1413 hilog.error(0x0000, 'testTag', 'getAppCloneIdentity failed. Cause: %{public}s', message); 1414} 1415``` 1416 1417## bundleManager.getSignatureInfo<sup>18+</sup> 1418 1419getSignatureInfo(uid: number): SignatureInfo 1420 1421根据给定的uid获取对应应用的[签名信息](./js-apis-bundleManager-bundleInfo.md#signatureinfo)。 1422 1423**需要权限:** ohos.permission.GET_SIGNATURE_INFO 1424 1425**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1426 1427**参数:** 1428 1429| 参数名 | 类型 | 必填 | 说明 | 1430| ---- | ------ | ---- | ------------------ | 1431| uid | number | 是 | 表示应用程序的UID。 | 1432 1433**返回值:** 1434 1435| 类型 | 说明 | 1436| ---------------- | --------------------------- | 1437| [SignatureInfo](./js-apis-bundleManager-bundleInfo.md#signatureinfo) | 返回SignatureInfo对象。 | 1438 1439**错误码:** 1440 1441以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1442 1443| 错误码ID | 错误信息 | 1444| -------- | ---------------------| 1445| 201 | Permission denied. | 1446| 17700021 | The uid is not found. | 1447 1448**示例:** 1449 1450```ts 1451import { bundleManager } from '@kit.AbilityKit'; 1452import { BusinessError } from '@kit.BasicServicesKit'; 1453import { hilog } from '@kit.PerformanceAnalysisKit'; 1454 1455let uid = 20010005; // uid需要替换为对应应用程序的UID。 1456try { 1457 let data = bundleManager.getSignatureInfo(uid); 1458 hilog.info(0x0000, 'testTag', 'getSignatureInfo successfully. Data: %{public}s', JSON.stringify(data)); 1459} catch (err) { 1460 let message = (err as BusinessError).message; 1461 hilog.error(0x0000, 'testTag', 'getSignatureInfo failed. Cause: %{public}s', message); 1462} 1463``` 1464 1465 1466## bundleManager.getAbilityInfo<sup>20+</sup> 1467 1468getAbilityInfo(uri: string, abilityFlags: number): Promise\<Array\<AbilityInfo>> 1469 1470获取指定资源标识符和组件信息标志对应的Ability信息,使用Promise异步回调。 1471 1472**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 1473 1474**需要权限:** ohos.permission.GET_ABILITY_INFO 1475 1476**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1477 1478**设备行为差异:** 该接口仅在PC/2in1设备中可正常调用,在其他设备中返回201错误码。 1479 1480**参数:** 1481 1482| 参数名 | 类型 | 必填 | 说明 | 1483| ------------ | ------ | ---- | ------------------------------------------------------- | 1484| uri | string | 是 | 表示统一资源标识符URI,取值与[module.json5配置文件中skills下的uris字段](../../quick-start/module-configuration-file.md#skills标签)相对应。 | 1485| abilityFlags | number | 是 | 表示[Ability组件信息标志](js-apis-bundleManager.md#abilityflag20),指示需要获取的Ability组件信息的内容。 | 1486 1487**返回值:** 1488 1489| 类型 | 说明 | 1490| ------------------------------------------------------------ | ------------------------------------ | 1491| Promise<Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)>> | 返回获取到的Ability信息数组。 | 1492 1493**错误码:** 1494 1495以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。 1496 1497| 错误码ID | 错误信息 | 1498| -------- | ------------------------------------- | 1499| 201 | Permission denied. | 1500| 17700003 | The ability is not found. | 1501 1502**示例:** 1503 1504```ts 1505import { bundleManager } from '@kit.AbilityKit'; 1506import { BusinessError } from '@kit.BasicServicesKit'; 1507 1508let abilityFlags = bundleManager.AbilityFlag.GET_ABILITY_INFO_WITH_APPLICATION; 1509let uri = "https://www.example.com"; 1510 1511try { 1512 bundleManager.getAbilityInfo(uri, abilityFlags).then((data) => { 1513 console.info('getAbilityInfo successfully. Data: ' + JSON.stringify(data)); 1514 }).catch((err: BusinessError) => { 1515 let message = (err as BusinessError).message; 1516 console.error('getAbilityInfo failed. Cause: ' + message); 1517 }); 1518} catch (err) { 1519 let message = (err as BusinessError).message; 1520 console.error('getAbilityInfo failed. Cause: ' + message); 1521} 1522``` 1523 1524## ApplicationInfo 1525 1526type ApplicationInfo = _ApplicationInfo 1527 1528应用程序信息。 1529 1530**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1531 1532**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1533 1534| 类型 | 说明 | 1535| ------------------------------------------------------------ | -------------- | 1536| [_ApplicationInfo](js-apis-bundleManager-applicationInfo.md#applicationinfo-1) | 应用程序信息。 | 1537 1538## ModuleMetadata<sup>10+</sup> 1539 1540type ModuleMetadata = _ModuleMetadata 1541 1542模块的元数据信息。 1543 1544**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1545 1546**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1547 1548| 类型 | 说明 | 1549| ------------------------------------------------------------ | -------------- | 1550| [_ModuleMetadata](js-apis-bundleManager-applicationInfo.md#modulemetadata10) | 模块的元数据信息。 | 1551 1552## Metadata 1553 1554type Metadata = _Metadata 1555 1556元数据信息。 1557 1558**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1559 1560**系统能力**: SystemCapability.BundleManager.BundleFramework.Core 1561 1562| 类型 | 说明 | 1563| ------------------------------------------------------------ | -------------- | 1564| [_Metadata](js-apis-bundleManager-metadata.md#metadata-1) | 元数据信息。 | 1565 1566## BundleInfo 1567 1568type BundleInfo = _BundleInfo.BundleInfo 1569 1570应用包信息。 1571 1572**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1573 1574**系统能力**: SystemCapability.BundleManager.BundleFramework.Core 1575 1576| 类型 | 说明 | 1577| ------------------------------------------------------------ | -------------- | 1578| [_BundleInfo.BundleInfo](js-apis-bundleManager-bundleInfo.md#bundleinfo-1) | 应用包信息。 | 1579 1580 1581## UsedScene 1582 1583type UsedScene = _BundleInfo.UsedScene 1584 1585权限使用的场景和时机。 1586 1587**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1588 1589**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1590 1591| 类型 | 说明 | 1592| ------------------------------------------------------------ | -------------- | 1593| [_BundleInfo.UsedScene](js-apis-bundleManager-bundleInfo.md#usedscene) | 权限使用的场景和时机。 | 1594 1595## ReqPermissionDetail 1596 1597type ReqPermissionDetail = _BundleInfo.ReqPermissionDetail 1598 1599应用运行时需向系统申请的权限集合的详细信息。 1600 1601**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1602 1603**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1604 1605| 类型 | 说明 | 1606| ------------------------------------------------------------ | -------------- | 1607| [_BundleInfo.ReqPermissionDetail](js-apis-bundleManager-bundleInfo.md#reqpermissiondetail) | 应用运行时需向系统申请的权限集合的详细信息。 | 1608 1609## SignatureInfo 1610 1611type SignatureInfo = _BundleInfo.SignatureInfo 1612 1613应用包的签名信息。 1614 1615**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1616 1617**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1618 1619| 类型 | 说明 | 1620| ------------------------------------------------------------ | -------------- | 1621| [_BundleInfo.SignatureInfo](js-apis-bundleManager-bundleInfo.md#signatureinfo) | 应用包的签名信息。 | 1622 1623## HapModuleInfo 1624 1625type HapModuleInfo = _HapModuleInfo.HapModuleInfo 1626 1627模块信息。 1628 1629**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1630 1631**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1632 1633| 类型 | 说明 | 1634| ------------------------------------------------------------ | -------------- | 1635| [_HapModuleInfo.HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md#hapmoduleinfo-1) | 模块信息。 | 1636 1637## PreloadItem 1638 1639type PreloadItem = _HapModuleInfo.PreloadItem 1640 1641原子化服务中模块的预加载模块信息。 1642 1643**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1644 1645**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1646 1647| 类型 | 说明 | 1648| ------------------------------------------------------------ | -------------- | 1649| [_HapModuleInfo.PreloadItem](js-apis-bundleManager-hapModuleInfo.md#preloaditem) | 原子化服务中模块的预加载模块信息。 | 1650 1651## Dependency 1652 1653type Dependency = _HapModuleInfo.Dependency 1654 1655模块所依赖的动态共享库信息。 1656 1657**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1658 1659**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1660 1661| 类型 | 说明 | 1662| ------------------------------------------------------------ | -------------- | 1663| [_HapModuleInfo.Dependency](js-apis-bundleManager-hapModuleInfo.md#dependency) | 模块所依赖的动态共享库信息。 | 1664 1665## RouterItem<sup>12+</sup> 1666 1667type RouterItem = _HapModuleInfo.RouterItem 1668 1669模块配置的路由表信息。 1670 1671**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1672 1673**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1674 1675| 类型 | 说明 | 1676| ------------------------------------------------------------ | -------------- | 1677| [_HapModuleInfo.RouterItem](js-apis-bundleManager-hapModuleInfo.md#routeritem12) | 模块配置的路由表信息。 | 1678 1679## DataItem<sup>12+</sup> 1680 1681type DataItem = _HapModuleInfo.DataItem 1682 1683模块配置的路由表中的自定义数据。 1684 1685**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1686 1687**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1688 1689| 类型 | 说明 | 1690| ------------------------------------------------------------ | -------------- | 1691| [_HapModuleInfo.DataItem](js-apis-bundleManager-hapModuleInfo.md#dataitem12) | 模块配置的路由表中的自定义数据。 | 1692 1693## AbilityInfo 1694 1695type AbilityInfo = _AbilityInfo.AbilityInfo 1696 1697Ability信息。 1698 1699**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1700 1701**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1702 1703| 类型 | 说明 | 1704| ------------------------------------------------------------ | -------------- | 1705| [_AbilityInfo.AbilityInfo](js-apis-bundleManager-abilityInfo.md#abilityinfo-1) |Ability信息。 | 1706 1707## WindowSize 1708 1709type WindowSize = _AbilityInfo.WindowSize 1710 1711窗口尺寸。 1712 1713**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1714 1715**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1716 1717| 类型 | 说明 | 1718| ------------------------------------------------------------ | -------------- | 1719| [_AbilityInfo.WindowSize](js-apis-bundleManager-abilityInfo.md#windowsize) |窗口尺寸。 | 1720 1721 1722## ExtensionAbilityInfo 1723 1724type ExtensionAbilityInfo = _ExtensionAbilityInfo.ExtensionAbilityInfo 1725 1726ExtensionAbility信息。 1727 1728**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1729 1730**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1731 1732| 类型 | 说明 | 1733| ------------------------------------------------------------ | -------------- | 1734| [_ExtensionAbilityInfo.ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md#extensionabilityinfo-1) |ExtensionAbility信息。 | 1735 1736## ElementName 1737 1738type ElementName = _ElementName 1739 1740ElementName信息。 1741 1742**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1743 1744**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1745 1746| 类型 | 说明 | 1747| ------------------------------------------------------------ | -------------- | 1748| [_ElementName](js-apis-bundleManager-elementName.md#elementname-1) |ElementName信息。 | 1749 1750## Skill<sup>12+</sup> 1751 1752type Skill = _Skill.Skill 1753 1754skill信息。 1755 1756**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1757 1758**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1759 1760| 类型 | 说明 | 1761| ------------------------------------------------------------ | -------------- | 1762| [_Skill.Skill](js-apis-bundleManager-skill.md#skill-1) |skill信息。 | 1763 1764## SkillUrl<sup>12+</sup> 1765 1766type SkillUrl = _Skill.SkillUri 1767 1768SkillUri信息。 1769 1770**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1771 1772**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1773 1774| 类型 | 说明 | 1775| ------------------------------------------------------------ | -------------- | 1776| [_Skill.SkillUri](js-apis-bundleManager-skill.md#skilluri) |SkillUri信息。 | 1777 1778## AppCloneIdentity<sup>15+</sup> 1779 1780type AppCloneIdentity = _BundleInfo.AppCloneIdentity 1781 1782描述应用包的身份信息。 1783 1784**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 1785 1786| 类型 | 说明 | 1787| ------------------------------------------------------------ | -------------- | 1788| [_BundleInfo.AppCloneIdentity](js-apis-bundleManager-bundleInfo.md#appcloneidentity14) |应用包的身份信息。 | 1789