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