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