• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/>-&nbsp;获取applicationInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_APPLICATION一起使用。<br/>-&nbsp;获取moduleInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用。<br/>-&nbsp;获取abilityInfo中包含的metadata,需要与GET_BUNDLE_INFO_WITH_HAP_MODULE、GET_BUNDLE_INFO_WITH_ABILITY一起使用。<br/>-&nbsp;获取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