1# @ohos.bundle (Bundle模块)
2
3本模块提供应用信息查询能力,支持[包信息](js-apis-bundle-BundleInfo.md)、[应用信息](js-apis-bundle-ApplicationInfo.md)、[Ability组件信息](js-apis-bundle-AbilityInfo.md)等信息的查询,以及应用禁用状态的查询、设置等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 从API Version 9开始,该模块不再维护,建议使用[`@ohos.bundle.bundleManager`](js-apis-bundleManager.md)替代。
9## 导入模块
10
11```ts
12import bundle from '@ohos.bundle';
13```
14
15## 权限列表
16
17| 权限                                         | 权限等级         | 描述            |
18|--------------------------------------------|--------------|---------------|
19| ohos.permission.GET_BUNDLE_INFO | normal | 查询指定应用信息。 |
20| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息。     |
21
22权限等级参考[权限APL等级说明](../../security/AccessToken/app-permission-mgmt-overview.md#权限机制中的基本概念)。
23
24## bundle.getApplicationInfo<sup>deprecated<sup>
25
26> 从API version 9开始不再维护。
27
28getApplicationInfo(bundleName: string, bundleFlags: number, userId?: number): Promise\<ApplicationInfo>
29
30以异步方法根据给定的Bundle名称获取ApplicationInfo。使用Promise异步回调。
31
32获取调用方自己的信息时不需要权限。
33
34**需要权限:**
35
36ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
37
38**系统能力:**
39
40SystemCapability.BundleManager.BundleFramework
41
42**参数:**
43
44| 参数名      | 类型   | 必填 | 说明                                                         |
45| ----------- | ------ | ---- | ------------------------------------------------------------ |
46| bundleName  | string | 是   | 要查询的应用Bundle名称。                                     |
47| bundleFlags | number | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围请参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
48| userId      | number | 否   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。        |
49
50**返回值:**
51
52| 类型                        | 说明                 |
53| ------------------------- | ------------------ |
54| Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | Promise形式返回应用程序信息。 |
55
56**示例:**
57
58```ts
59import bundle from '@ohos.bundle';
60import { BusinessError } from '@ohos.base';
61
62let bundleName: string = "com.example.myapplication";
63let bundleFlags: number = 0;
64let userId: number = 100;
65
66bundle.getApplicationInfo(bundleName, bundleFlags, userId)
67  .then((data) => {
68    console.info('Operation successful. Data: ' + JSON.stringify(data));
69  }).catch((error: BusinessError) => {
70    console.error('Operation failed. Cause: ' + JSON.stringify(error));
71  })
72```
73
74## bundle.getApplicationInfo<sup>deprecated<sup>
75
76> 从API version 9开始不再维护。
77
78getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback\<ApplicationInfo>): void
79
80以异步方法根据给定的Bundle名称获取指定用户下的ApplicationInfo,使用callback形式返回结果。
81
82获取调用方自己的信息时不需要权限。
83
84**需要权限:**
85
86ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
87
88**系统能力:**
89
90SystemCapability.BundleManager.BundleFramework
91
92**参数:**
93
94| 参数名      | 类型                                                         | 必填 | 说明                                                         |
95| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
96| bundleName  | string                                                       | 是   | 要查询的应用Bundle名称。                                     |
97| bundleFlags | number                                                       | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
98| userId      | number                                                       | 是   | 用户ID。取值范围:大于等于0。                                |
99| callback    | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 是   | 程序启动作为入参的回调函数,返回应用程序信息。               |
100
101**示例:**
102
103```ts
104import bundle from '@ohos.bundle';
105
106let bundleName: string = "com.example.myapplication";
107let bundleFlags: number = 0;
108let userId: number = 100;
109
110bundle.getApplicationInfo(bundleName, bundleFlags, userId, (err, data) => {
111  if (err) {
112    console.error('Operation failed. Cause: ' + JSON.stringify(err));
113    return;
114  }
115  console.info('Operation successful. Data:' + JSON.stringify(data));
116})
117```
118
119## bundle.getApplicationInfo<sup>deprecated<sup>
120
121> 从API version 9开始不再维护。
122
123
124getApplicationInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<ApplicationInfo>): void
125
126以异步方法根据给定的Bundle名称获取ApplicationInfo,使用callback形式返回结果。
127
128获取调用方自己的信息时不需要权限。
129
130**需要权限:**
131
132ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
133
134**系统能力:**
135
136SystemCapability.BundleManager.BundleFramework
137
138**参数:**
139
140| 参数名      | 类型                                                         | 必填 | 说明                                                         |
141| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
142| bundleName  | string                                                       | 是   | 要查询的应用Bundle名称。                                     |
143| bundleFlags | number                                                       | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
144| callback    | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 是   | 程序启动作为入参的回调函数,返回应用程序信息。               |
145
146**示例:**
147
148```ts
149import bundle from '@ohos.bundle';
150
151let bundleName: string = "com.example.myapplication";
152let bundleFlags: number = 0;
153
154bundle.getApplicationInfo(bundleName, bundleFlags, (err, data) => {
155  if (err) {
156    console.error('Operation failed. Cause: ' + JSON.stringify(err));
157    return;
158  }
159  console.info('Operation successful. Data:' + JSON.stringify(data));
160})
161```
162
163
164## bundle.getAllBundleInfo<sup>deprecated<sup>
165
166> 从API version 9开始不再维护。
167
168getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise\<Array\<BundleInfo\>\>
169
170以异步方法获取指定用户所有的BundleInfo,使用Promise形式异步回调,
171
172**需要权限:**
173
174ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
175
176**系统能力:**
177
178SystemCapability.BundleManager.BundleFramework
179
180**参数:**
181
182| 参数名     | 类型       | 必填 | 说明                                                         |
183| ---------- | ---------- | ---- | ------------------------------------------------------------ |
184| bundleFlag | BundleFlag | 是   | 用于指定返回的包信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
185| userId     | number     | 否   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。        |
186
187**返回值:**
188
189| 类型                          | 说明                         |
190| --------------------------- | -------------------------- |
191| Promise<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | Promise形式返回所有可用的BundleInfo |
192
193**示例:**
194
195```ts
196import bundle from '@ohos.bundle';
197import { BusinessError } from '@ohos.base';
198
199let bundleFlag: number = 0;
200let userId: number = 100;
201
202bundle.getAllBundleInfo(bundleFlag, userId)
203  .then((data) => {
204    console.info('Operation successful. Data: ' + JSON.stringify(data));
205  }).catch((error: BusinessError) => {
206    console.error('Operation failed. Cause: ' + JSON.stringify(error));
207  })
208```
209
210## bundle.getAllBundleInfo<sup>deprecated<sup>
211
212> 从API version 9开始不再维护。
213
214
215getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback\<Array\<BundleInfo\>\>): void
216
217以异步方法获取当前用户所有的BundleInfo,使用callback形式返回结果。
218
219**需要权限:**
220
221ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
222
223**系统能力:**
224
225SystemCapability.BundleManager.BundleFramework
226
227**参数:**
228
229| 参数名     | 类型                                                         | 必填 | 说明                                                         |
230| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
231| bundleFlag | BundleFlag                                                   | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
232| callback   | AsyncCallback<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。       |
233
234**示例:**
235
236```ts
237import bundle from '@ohos.bundle';
238
239let bundleFlag: number = 0;
240
241bundle.getAllBundleInfo(bundleFlag, (err, data) => {
242  if (err) {
243    console.error('Operation failed. Cause: ' + JSON.stringify(err));
244    return;
245  }
246  console.info('Operation successful. Data:' + JSON.stringify(data));
247})
248```
249
250## bundle.getAllBundleInfo<sup>deprecated<sup>
251
252> 从API version 9开始不再维护。
253
254
255getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback\<Array\<BundleInfo\>\>): void
256
257以异步方法获取系统中指定用户下所有的BundleInfo,使用callback形式返回结果。
258
259**需要权限:**
260
261ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
262
263**系统能力:**
264
265SystemCapability.BundleManager.BundleFramework
266
267**参数:**
268
269| 参数名        | 类型                                                                | 必填  | 说明                                                                  |
270|------------|-------------------------------------------------------------------|-----|---------------------------------------------------------------------|
271| bundleFlag | BundleFlag                                                        | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
272| userId     | number                                                            | 是   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。                                        |
273| callback   | AsyncCallback<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回指定用户下所有包的BundleInfo。                                |
274|
275
276**示例:**
277
278```ts
279import bundle from '@ohos.bundle';
280
281let bundleFlag: number = 0;
282let userId: number = 100;
283
284bundle.getAllBundleInfo(bundleFlag, userId, (err, data) => {
285  if (err) {
286    console.error('Operation failed. Cause: ' + JSON.stringify(err));
287    return;
288  }
289  console.info('Operation successful. Data:' + JSON.stringify(data));
290})
291```
292
293## bundle.getBundleInfo<sup>deprecated<sup>
294
295> 从API version 9开始不再维护。
296
297
298getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): Promise\<BundleInfo>
299
300以异步方法根据给定的Bundle名称获取BundleInfo,使用Promise异步回调。
301
302获取调用方自己的信息时不需要权限。
303
304**需要权限:**
305
306ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
307
308**系统能力:**
309
310SystemCapability.BundleManager.BundleFramework
311
312**参数:**
313
314| 参数名         | 类型            | 必填   | 说明                                                                  |
315| ----------- | ------------- | ---- |---------------------------------------------------------------------|
316| bundleName  | string        | 是    | 要查询的应用Bundle名称。                                                 |
317| bundleFlags | number        | 是    | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
318| options     | [BundleOptions](#bundleoptionsdeprecated) | 否    | 包含userid的查询选项。                                                      |
319
320**返回值:**
321
322| 类型                   | 说明                           |
323| -------------------- | ---------------------------- |
324| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | Promise对象,获取成功时返回包信息。 |
325
326**示例:**
327
328```ts
329import bundle from '@ohos.bundle';
330import { BusinessError } from '@ohos.base';
331
332let bundleName: string = "com.example.myapplication";
333let bundleFlags: number = 1;
334let options: bundle.BundleOptions = {
335  "userId": 100
336};
337
338bundle.getBundleInfo(bundleName, bundleFlags, options)
339  .then((data) => {
340    console.info('Operation successful. Data: ' + JSON.stringify(data));
341  }).catch((error: BusinessError) => {
342    console.error('Operation failed. Cause: ' + JSON.stringify(error));
343  })
344```
345
346## bundle.getBundleInfo<sup>deprecated<sup>
347
348> 从API version 9开始不再维护。
349
350getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>): void
351
352以异步方法根据给定的Bundle名称获取BundleInfo,使用callback异步回调。
353
354获取调用方自己的信息时不需要权限。
355
356**需要权限:**
357
358ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
359
360**系统能力:**
361
362SystemCapability.BundleManager.BundleFramework
363
364**参数:**
365
366| 参数名      | 类型                                                       | 必填 | 说明                                                         |
367| ----------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
368| bundleName  | string                                                     | 是   | 需要查询的应用Bundle名称。                                   |
369| bundleFlags | number                                                     | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
370| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是   | 程序启动作为入参的回调函数,返回包信息。                     |
371
372**示例:**
373
374```ts
375import bundle from '@ohos.bundle';
376
377let bundleName: string = "com.example.myapplication";
378let bundleFlags: number = 1;
379
380bundle.getBundleInfo(bundleName, bundleFlags, (err, data) => {
381  if (err) {
382    console.error('Operation failed. Cause: ' + JSON.stringify(err));
383    return;
384  }
385  console.info('Operation successful. Data:' + JSON.stringify(data));
386})
387```
388
389## bundle.getBundleInfo<sup>deprecated<sup>
390
391> 从API version 9开始不再维护。
392
393getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, callback: AsyncCallback\<BundleInfo>): void
394
395以异步方法根据给定的Bundle名称获取BundleInfo,使用callback异步回调。
396
397获取调用方自己的信息时不需要权限。
398
399**需要权限:**
400
401ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
402
403**系统能力:**
404
405SystemCapability.BundleManager.BundleFramework
406
407**参数:**
408
409| 参数名      | 类型                                                       | 必填 | 说明                                                         |
410| ----------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
411| bundleName  | string                                                     | 是   | 要查询的应用Bundle名称。                                     |
412| bundleFlags | number                                                     | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
413| options     | [BundleOptions](#bundleoptionsdeprecated)                            | 是   | 包含userid。                                                 |
414| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是   | 程序启动作为入参的回调函数,返回包信息。                     |
415
416**示例:**
417
418```ts
419import bundle from '@ohos.bundle';
420
421let bundleName: string = "com.example.myapplication";
422let bundleFlags: number = 1;
423let options: bundle.BundleOptions = {
424  "userId": 100
425};
426
427bundle.getBundleInfo(bundleName, bundleFlags, options, (err, data) => {
428  if (err) {
429    console.error('Operation failed. Cause: ' + JSON.stringify(err));
430    return;
431  }
432  console.info('Operation successful. Data:' + JSON.stringify(data));
433})
434```
435
436## bundle.getAllApplicationInfo<sup>deprecated<sup>
437
438> 从API version 9开始不再维护。
439
440getAllApplicationInfo(bundleFlags: number, userId?: number): Promise\<Array\<ApplicationInfo\>\>
441
442获取指定用户下所有已安装的应用信息,使用promise异步回调。
443
444**需要权限:**
445
446ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
447
448**系统能力:**
449
450SystemCapability.BundleManager.BundleFramework
451
452**参数:**
453
454| 参数名      | 类型   | 必填 | 说明                                                         |
455| ----------- | ------ | ---- | ------------------------------------------------------------ |
456| bundleFlags | number | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
457| userId      | number | 否   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。        |
458
459**返回值:**
460
461| 类型                               | 说明                              |
462| -------------------------------- | ------------------------------- |
463| Promise<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | Promise对象,获取成功时返回应用信息列表。 |
464
465**示例:**
466
467```ts
468import bundle from '@ohos.bundle';
469import { BusinessError } from '@ohos.base';
470
471let bundleFlags: number = 8;
472let userId: number = 100;
473
474bundle.getAllApplicationInfo(bundleFlags, userId)
475  .then((data) => {
476    console.info('Operation successful. Data: ' + JSON.stringify(data));
477  }).catch((error: BusinessError) => {
478    console.error('Operation failed. Cause: ' + JSON.stringify(error));
479  })
480```
481
482## bundle.getAllApplicationInfo<sup>deprecated<sup>
483
484> 从API version 9开始不再维护。
485
486getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback\<Array\<ApplicationInfo\>\>): void
487
488获取指定用户下所有已安装的应用信息,使用callback异步回调。
489
490**需要权限:**
491
492ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
493
494**系统能力:**
495
496SystemCapability.BundleManager.BundleFramework
497
498**参数:**
499
500| 参数名      | 类型                                                         | 必填 | 说明                                                         |
501| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
502| bundleFlags | number                                                       | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
503| userId      | number                                                       | 是   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。        |
504| callback    | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回应用信息列表。               |
505
506**示例:**
507
508```ts
509import bundle from '@ohos.bundle';
510
511let bundleFlags: number = bundle.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION;
512let userId: number = 100;
513
514bundle.getAllApplicationInfo(bundleFlags, userId, (err, data) => {
515  if (err) {
516    console.error('Operation failed. Cause: ' + JSON.stringify(err));
517    return;
518  }
519  console.info('Operation successful. Data:' + JSON.stringify(data));
520})
521```
522
523
524## bundle.getAllApplicationInfo<sup>deprecated<sup>
525
526> 从API version 9开始不再维护。
527
528getAllApplicationInfo(bundleFlags: number, callback: AsyncCallback\<Array\<ApplicationInfo\>\>): void
529
530获取调用方所在用户下已安装的应用信息,使用callback异步回调。
531
532**需要权限:**
533
534ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
535
536**系统能力:**
537
538SystemCapability.BundleManager.BundleFramework
539
540**参数:**
541
542| 参数名      | 类型                                                         | 必填 | 说明                                                         |
543| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
544| bundleFlags | number                                                       | 是   | 用于指定返回的应用信息对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中应用信息相关flag。 |
545| callback    | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回应用信息列表。               |
546
547**示例:**
548
549```ts
550import bundle from '@ohos.bundle';
551
552let bundleFlags: number = bundle.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION;
553
554bundle.getAllApplicationInfo(bundleFlags, (err, data) => {
555  if (err) {
556    console.error('Operation failed. Cause: ' + JSON.stringify(err));
557    return;
558  }
559  console.info('Operation successful. Data:' + JSON.stringify(data));
560})
561```
562
563## bundle.getBundleArchiveInfo<sup>deprecated<sup>
564
565> 从API version 9开始不再维护。
566
567getBundleArchiveInfo(hapFilePath: string, bundleFlags: number) : Promise\<BundleInfo>
568
569获取有关HAP中包含的应用程序包的信息,使用Promise形式返回结果。
570
571**系统能力:**
572
573SystemCapability.BundleManager.BundleFramework
574
575**参数:**
576
577| 参数名        | 类型     | 必填   | 说明           |
578| ---------- | ------ | ---- | ------------ |
579| hapFilePath | string | 是    | HAP存放路径。支持当前应用程序的绝对路径和数据目录沙箱路径。 |
580| bundleFlags | number | 是    | 用于指定要返回的BundleInfo对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
581
582**返回值:**
583| 类型                                                 | 说明                                                         |
584| ---------------------------------------------------- | ------------------------------------------------------------ |
585| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 返回值为Promise对象,Promise中包含有关HAP中包含的应用程序的信息。 |
586
587**示例:**
588
589```ts
590import bundle from '@ohos.bundle';
591import { BusinessError } from '@ohos.base';
592
593let hapFilePath: string = "/data/storage/el2/base/test.hap";
594let bundleFlags: number = 0;
595
596bundle.getBundleArchiveInfo(hapFilePath, bundleFlags)
597  .then((data) => {
598    console.info('Operation successful. Data: ' + JSON.stringify(data));
599  }).catch((error: BusinessError) => {
600    console.error('Operation failed. Cause: ' + JSON.stringify(error));
601  })
602```
603
604## bundle.getBundleArchiveInfo<sup>deprecated<sup>
605
606> 从API version 9开始不再维护。
607
608getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>) : void
609
610以异步方法获取有关HAP中包含的应用程序包的信息,使用callback形式返回结果。
611
612**系统能力:**
613
614SystemCapability.BundleManager.BundleFramework
615
616**参数:**
617
618| 参数名        | 类型     | 必填   | 说明           |
619| ---------- | ------ | ---- | ------------ |
620| hapFilePath | string | 是    | HAP存放路径,支持当前应用程序的绝对路径和数据目录沙箱路径。 |
621| bundleFlags | number | 是    | 用于指定要返回的BundleInfo对象中包含信息的标记。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中包信息相关flag。 |
622| callback| AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回HAP中包含的应用程序包的信息。 |
623
624**示例:**
625
626```ts
627import bundle from '@ohos.bundle';
628
629let hapFilePath: string = "/data/storage/el2/base/test.hap";
630let bundleFlags: number = 0;
631
632bundle.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => {
633  if (err) {
634    console.error('Operation failed. Cause: ' + JSON.stringify(err));
635    return;
636  }
637  console.info('Operation successful. Data:' + JSON.stringify(data));
638})
639```
640
641## bundle.getAbilityInfo<sup>deprecated<sup>
642
643> 从API version 9开始不再维护。
644
645getAbilityInfo(bundleName: string, abilityName: string): Promise\<AbilityInfo>
646
647通过Bundle名称和组件名获取Ability组件信息,使用Promise形式异步回调。
648
649获取调用方自己的信息时不需要权限。
650
651**需要权限:**
652
653ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
654
655**系统能力:**
656
657SystemCapability.BundleManager.BundleFramework
658
659**参数:**
660
661| 参数名         | 类型     | 必填   | 说明         |
662| ----------- | ------ | ---- |------------|
663| bundleName  | string | 是    | 应用Bundle名称。 |
664| abilityName | string | 是    | Ability组件名称。 |
665
666**返回值:**
667
668| 类型                    | 说明                    |
669| --------------------- | --------------------- |
670| Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Promise形式返回Ability信息。 |
671
672**示例:**
673
674```ts
675import bundle from '@ohos.bundle';
676import { BusinessError } from '@ohos.base';
677
678let bundleName: string = "com.example.myapplication";
679let abilityName: string = "EntryAbility";
680
681bundle.getAbilityInfo(bundleName, abilityName)
682  .then((data) => {
683    console.info('Operation successful. Data: ' + JSON.stringify(data));
684  }).catch((error: BusinessError) => {
685    console.error('Operation failed. Cause: ' + JSON.stringify(error));
686  })
687```
688
689## bundle.getAbilityInfo<sup>deprecated<sup>
690
691> 从API version 9开始不再维护。
692
693getAbilityInfo(bundleName: string, abilityName: string, callback: AsyncCallback\<AbilityInfo>): void
694
695通过Bundle名称和组件名获取Ability组件信息,使用callback形式返回结果。
696
697获取调用方自己的信息时不需要权限。
698
699**需要权限:**
700
701ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
702
703**系统能力:**
704
705SystemCapability.BundleManager.BundleFramework
706
707**参数:**
708
709| 参数名        | 类型     | 必填   | 说明                         |
710| ----------- | ------------ | ---- |----------------------------|
711| bundleName  | string | 是    | 应用Bundle名称。                |
712| abilityName | string | 是    | Ability名称。                 |
713| callback    | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 是    | 程序启动作为入参的回调函数,返回Ability信息。 |
714
715**示例:**
716
717```ts
718import bundle from '@ohos.bundle';
719
720let bundleName: string = "com.example.myapplication";
721let abilityName: string = "EntryAbility";
722
723bundle.getAbilityInfo(bundleName, abilityName, (err, data) => {
724  if (err) {
725    console.error('Operation failed. Cause: ' + JSON.stringify(err));
726    return;
727  }
728  console.info('Operation successful. Data:' + JSON.stringify(data));
729})
730```
731
732## bundle.getAbilityLabel<sup>8+</sup> <sup>deprecated<sup>
733
734> 从API version 9开始不再维护。
735
736getAbilityLabel(bundleName: string, abilityName: string): Promise\<string>
737
738通过Bundle名称和ability名称获取应用名称,使用Promise形式返回结果。
739
740获取调用方自己的信息时不需要权限。
741
742**需要权限:**
743
744ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
745
746**系统能力:**
747
748SystemCapability.BundleManager.BundleFramework
749
750**参数:**
751
752| 参数名      | 类型   | 必填 | 说明             |
753| ----------- | ------ | ---- | ---------------- |
754| bundleName  | string | 是   | 应用Bundle名称。 |
755| abilityName | string | 是   | Ability名称。    |
756
757**返回值:**
758
759| 类型               | 说明                 |
760| ---------------- | ------------------ |
761| Promise\<string> | Promise形式返回应用名称信息。 |
762
763**示例:**
764
765```ts
766import bundle from '@ohos.bundle';
767import { BusinessError } from '@ohos.base';
768
769let bundleName: string = "com.example.myapplication";
770let abilityName: string = "EntryAbility";
771
772bundle.getAbilityLabel(bundleName, abilityName)
773  .then((data) => {
774    console.info('Operation successful. Data: ' + JSON.stringify(data));
775  }).catch((error: BusinessError) => {
776    console.error('Operation failed. Cause: ' + JSON.stringify(error));
777  })
778```
779
780## bundle.getAbilityLabel<sup>8+</sup> <sup>deprecated<sup>
781
782> 从API version 9开始不再维护。
783
784getAbilityLabel(bundleName: string, abilityName: string, callback : AsyncCallback\<string>): void
785
786通过Bundle名称和Ability组件名获取应用名称,使用callback形式返回结果。
787
788获取调用方自己的信息时不需要权限。
789
790**需要权限:**
791
792ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
793
794**系统能力:**
795
796SystemCapability.BundleManager.BundleFramework
797
798**参数:**
799
800| 参数名      | 类型                   | 必填 | 说明                                           |
801| ----------- | ---------------------- | ---- | ---------------------------------------------- |
802| bundleName  | string                 | 是   | 应用Bundle名称。                               |
803| abilityName | string                 | 是   | Ability名称。                                  |
804| callback    | AsyncCallback\<string> | 是   | 程序启动作为入参的回调函数,返回应用名称信息。 |
805
806**示例:**
807
808```ts
809import bundle from '@ohos.bundle';
810
811let bundleName: string = "com.example.myapplication";
812let abilityName: string = "EntryAbility";
813
814bundle.getAbilityLabel(bundleName, abilityName, (err, data) => {
815  if (err) {
816    console.error('Operation failed. Cause: ' + JSON.stringify(err));
817    return;
818  }
819  console.info('Operation successful. Data:' + JSON.stringify(data));
820})
821```
822
823## bundle.isAbilityEnabled<sup>8+</sup> <sup>deprecated<sup>
824
825> 从API version 9开始不再维护。
826
827isAbilityEnabled(info: AbilityInfo): Promise\<boolean>
828
829以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用Promise形式返回结果。
830
831**系统能力:**
832
833SystemCapability.BundleManager.BundleFramework
834
835**参数:**
836
837| 参数名 | 类型                                         | 必填 | 说明              |
838| ------ | -------------------------------------------- | ---- | ----------------- |
839| info   | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | 是   | Ability的配置信息。 |
840
841**返回值:**
842
843| 类型                | 说明                        |
844| ----------------- | ------------------------- |
845| Promise\<boolean> | Promise形式返回boolean代表是否启用。 |
846
847**示例:**
848
849```ts
850import bundle from '@ohos.bundle';
851import { BusinessError } from '@ohos.base';
852
853let bundleName: string = "com.example.myapplication";
854let abilityName: string = "EntryAbility";
855
856bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo) => {
857  bundle.isAbilityEnabled(abilityInfo).then((data) => {
858    console.info('Operation successful. Data: ' + JSON.stringify(data));
859  }).catch((error: BusinessError) => {
860    console.error('Operation failed. Cause: ' + JSON.stringify(error));
861  })
862})
863```
864
865## bundle.isAbilityEnabled<sup>8+</sup> <sup>deprecated<sup>
866
867> 从API version 9开始不再维护。
868
869isAbilityEnabled(info : AbilityInfo, callback : AsyncCallback\<boolean>): void
870
871以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用callback形式返回结果。
872
873**系统能力:**
874
875SystemCapability.BundleManager.BundleFramework
876
877**参数:**
878
879| 参数名   | 类型                                         | 必填 | 说明                    |
880| -------- | -------------------------------------------- | ---- | ----------------------- |
881| info     | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | 是   | Ability的配置信息。       |
882| callback | AsyncCallback\<boolean>                      | 是   | 回调函数,返回boolean代表是否启用。 |
883
884**示例:**
885
886```ts
887import bundle from '@ohos.bundle';
888
889let bundleName: string = "com.example.myapplication";
890let abilityName: string = "EntryAbility";
891
892bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo) => {
893  bundle.isAbilityEnabled(abilityInfo, (err, data) => {
894    if (err) {
895      console.error('Operation failed. Cause: ' + JSON.stringify(err));
896      return;
897    }
898    console.info('Operation successful. Data:' + JSON.stringify(data));
899  })
900})
901```
902
903## bundle.isApplicationEnabled<sup>8+</sup> <sup>deprecated<sup>
904
905> 从API version 9开始不再维护。
906
907isApplicationEnabled(bundleName: string): Promise\<boolean>
908
909以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用Promise形式返回结果。
910
911**系统能力:**
912
913SystemCapability.BundleManager.BundleFramework
914
915**参数:**
916
917| 参数名     | 类型   | 必填 | 说明                     |
918| ---------- | ------ | ---- | ------------------------ |
919| bundleName | string | 是   | 要查询的应用Bundle名称。 |
920
921**返回值:**
922
923| 类型                | 说明                        |
924| ----------------- | ------------------------- |
925| Promise\<boolean> | Promise形式返回boolean代表是否启用。 |
926
927**示例:**
928
929```ts
930import bundle from '@ohos.bundle';
931import { BusinessError } from '@ohos.base';
932
933let bundleName: string = "com.example.myapplication";
934
935bundle.isApplicationEnabled(bundleName)
936  .then((data) => {
937    console.info('Operation successful. Data: ' + JSON.stringify(data));
938  }).catch((error: BusinessError) => {
939    console.error('Operation failed. Cause: ' + JSON.stringify(error));
940  })
941```
942
943## bundle.isApplicationEnabled<sup>8+</sup> <sup>deprecated<sup>
944
945> 从API version 9开始不再维护。
946
947isApplicationEnabled(bundleName: string, callback : AsyncCallback\<boolean>): void
948
949以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用callback形式返回结果。
950
951**系统能力:**
952
953SystemCapability.BundleManager.BundleFramework
954
955**参数:**
956
957| 参数名     | 类型                    | 必填 | 说明                     |
958| ---------- | ----------------------- | ---- | ------------------------ |
959| bundleName | string                  | 是   | 要查询的应用Bundle名称。 |
960| callback   | AsyncCallback\<boolean> | 是   | 回调函数,返回boolean代表是否启用。 |
961
962**示例:**
963
964```ts
965import bundle from '@ohos.bundle';
966
967let bundleName: string = "com.example.myapplication";
968
969bundle.isApplicationEnabled(bundleName, (err, data) => {
970  if (err) {
971    console.error('Operation failed. Cause: ' + JSON.stringify(err));
972    return;
973  }
974  console.info('Operation successful. Data:' + JSON.stringify(data));
975})
976```
977
978## bundle.queryAbilityByWant<sup>deprecated<sup>
979
980> 从API version 9开始不再维护。
981
982queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise\<Array\<AbilityInfo\>\>
983
984以异步方法根据给定的意图获取Ability组件信息,使用Promise形式返回结果。
985
986获取调用方自己的信息时不需要权限。
987
988**需要权限:**
989
990ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
991
992**系统能力:**
993
994SystemCapability.BundleManager.BundleFramework
995
996**参数:**
997
998| 参数名         | 类型     | 必填   | 说明                                    |
999| ----------- | ------ | ---- | ------------------------------------- |
1000| want        | [Want](js-apis-application-want.md)   | 是    | 包含要查询的应用Bundle名称的意图。                  |
1001| bundleFlags | number | 是    | 用于指定返回abilityInfo信息。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中Ability信息相关flag。 |
1002| userId      | number | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。           |
1003
1004**返回值:**
1005
1006| 类型                           | 说明                    |
1007| ---------------------------- | --------------------- |
1008| Promise<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | Promise形式返回Ability信息。 |
1009
1010**示例:**
1011
1012```ts
1013import bundle from '@ohos.bundle';
1014import { BusinessError } from '@ohos.base';
1015import Want from '@ohos.app.ability.Want';
1016
1017let bundleFlags: number = 0;
1018let userId: number = 100;
1019let want: Want = {
1020  bundleName: "com.example.myapplication",
1021  abilityName: "EntryAbility"
1022};
1023
1024bundle.queryAbilityByWant(want, bundleFlags, userId)
1025  .then((data) => {
1026    console.info('Operation successful. Data: ' + JSON.stringify(data));
1027  }).catch((error: BusinessError) => {
1028    console.error('Operation failed. Cause: ' + JSON.stringify(error));
1029  })
1030```
1031
1032
1033
1034## bundle.queryAbilityByWant<sup>deprecated<sup>
1035
1036> 从API version 9开始不再维护。
1037
1038queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback\<Array\<AbilityInfo\>\>): void
1039
1040以异步方法根据给定的意图获取指定用户下Ability信息,使用callback形式返回结果。
1041
1042获取调用方自己的信息时不需要权限。
1043
1044**需要权限:**
1045
1046ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
1047
1048**系统能力:**
1049
1050SystemCapability.BundleManager.BundleFramework
1051
1052**参数:**
1053
1054| 参数名      | 类型                                                         | 必填 | 说明                                                         |
1055| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1056| want        | [Want](js-apis-application-want.md)                          | 是   | 指示包含要查询的应用Bundle名称的意图。                       |
1057| bundleFlags | number                                                       | 是   | 用于指定返回abilityInfo信息。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中Ability信息相关flag。 |
1058| userId      | number                                                       | 是   | 用户ID。取值范围:大于等于0。                                |
1059| callback    | AsyncCallback<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回Ability信息。                |
1060
1061**示例:**
1062
1063```ts
1064import bundle from '@ohos.bundle';
1065import Want from '@ohos.app.ability.Want';
1066
1067let bundleFlags: number = 0;
1068let userId: number = 100;
1069let want: Want = {
1070  bundleName: "com.example.myapplication",
1071  abilityName: "EntryAbility"
1072};
1073
1074bundle.queryAbilityByWant(want, bundleFlags, userId, (err, data) => {
1075  if (err) {
1076    console.error('Operation failed. Cause: ' + JSON.stringify(err));
1077    return;
1078  }
1079  console.info('Operation successful. Data:' + JSON.stringify(data));
1080})
1081```
1082
1083## bundle.queryAbilityByWant<sup>deprecated<sup>
1084
1085> 从API version 9开始不再维护。
1086
1087queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback\<Array\<AbilityInfo\>\>): void
1088
1089以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。
1090
1091获取调用方自己的信息时不需要权限。
1092
1093**需要权限:**
1094
1095ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
1096
1097**系统能力:**
1098
1099SystemCapability.BundleManager.BundleFramework
1100
1101**参数:**
1102
1103| 参数名      | 类型                                                         | 必填 | 说明                                                         |
1104| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1105| want        | [Want](js-apis-application-want.md)                          | 是   | 指示包含要查询的应用Bundle名称的意图。                       |
1106| bundleFlags | number                                                       | 是   | 用于指定返回abilityInfo信息。取值范围:参考[BundleFlag说明](#bundleflagdeprecated)中Ability信息相关flag。 |
1107| callback    | AsyncCallback<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | 是   | 程序启动作为入参的回调函数,返回Ability信息。                |
1108
1109**示例:**
1110
1111```ts
1112import bundle from '@ohos.bundle';
1113import Want from '@ohos.app.ability.Want';
1114
1115let bundleFlags: number = 0;
1116let want: Want = {
1117  bundleName: "com.example.myapplication",
1118  abilityName: "EntryAbility"
1119};
1120
1121bundle.queryAbilityByWant(want, bundleFlags, (err, data) => {
1122  if (err) {
1123    console.error('Operation failed. Cause: ' + JSON.stringify(err));
1124    return;
1125  }
1126  console.info('Operation successful. Data:' + JSON.stringify(data));
1127})
1128```
1129
1130
1131
1132## bundle.getLaunchWantForBundle<sup>deprecated<sup>
1133
1134> 从API version 9开始不再维护。
1135
1136getLaunchWantForBundle(bundleName: string): Promise\<Want>
1137
1138以异步方法查询拉起指定应用的want对象,使用Promise形式返回结果。
1139
1140**需要权限:**
1141
1142ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
1143
1144**系统能力:**
1145
1146SystemCapability.BundleManager.BundleFramework
1147
1148**参数:**
1149
1150| 参数名     | 类型   | 必填 | 说明                     |
1151| ---------- | ------ | ---- | ------------------------ |
1152| bundleName | string | 是   | 要查询的应用Bundle名称。 |
1153
1154**返回值:**
1155| 类型             | 说明                                     |
1156| -------------- | -------------------------------------- |
1157| Promise\<[Want](js-apis-application-want.md)> | 返回值为Promise对象,Promise中包含拉起指定应用的Want对象。 |
1158
1159**示例:**
1160
1161```ts
1162import bundle from '@ohos.bundle';
1163import { BusinessError } from '@ohos.base';
1164
1165let bundleName: string = "com.example.myapplication";
1166
1167bundle.getLaunchWantForBundle(bundleName)
1168  .then((data) => {
1169    console.info('Operation successful. Data: ' + JSON.stringify(data));
1170  }).catch((error: BusinessError) => {
1171    console.error('Operation failed. Cause: ' + JSON.stringify(error));
1172  })
1173```
1174
1175## bundle.getLaunchWantForBundle<sup>deprecated<sup>
1176
1177> 从API version 9开始不再维护。
1178
1179getLaunchWantForBundle(bundleName: string, callback: AsyncCallback\<Want>): void
1180
1181以异步方法查询拉起指定应用的want对象,使用callback形式返回结果。
1182
1183**需要权限:**
1184
1185ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
1186
1187**系统能力:**
1188
1189SystemCapability.BundleManager.BundleFramework
1190
1191**参数:**
1192
1193| 参数名     | 类型                                                | 必填 | 说明                                                     |
1194| ---------- | --------------------------------------------------- | ---- | -------------------------------------------------------- |
1195| bundleName | string                                              | 是   | 要查询的应用Bundle名称。                                 |
1196| callback   | AsyncCallback\<[Want](js-apis-application-want.md)> | 是   | 程序启动作为入参的回调函数,返回拉起指定应用的want对象。 |
1197
1198**示例:**
1199
1200```ts
1201import bundle from '@ohos.bundle';
1202
1203let bundleName: string = "com.example.myapplication";
1204
1205bundle.getLaunchWantForBundle(bundleName, (err, data) => {
1206  if (err) {
1207    console.error('Operation failed. Cause: ' + JSON.stringify(err));
1208    return;
1209  }
1210  console.info('Operation successful. Data:' + JSON.stringify(data));
1211})
1212```
1213
1214
1215## bundle.getNameForUid<sup>8+</sup> <sup>deprecated<sup>
1216
1217> 从API version 9开始不再维护。
1218
1219getNameForUid(uid: number): Promise\<string>
1220
1221以异步方法通过uid获取对应的Bundle名称,使用Promise形式返回结果。
1222
1223**系统能力:**
1224
1225SystemCapability.BundleManager.BundleFramework
1226
1227**参数:**
1228
1229| 参数名 | 类型   | 必填 | 说明          |
1230| ------ | ------ | ---- | ------------- |
1231| uid    | number | 是   | 要查询的uid。 |
1232
1233**返回值:**
1234| 类型               | 说明                                |
1235| ---------------- | --------------------------------- |
1236| Promise\<string> | 返回值为Promise对象,Promise中包含指定uid的Bundle名称。 |
1237
1238**示例:**
1239
1240```ts
1241import bundle from '@ohos.bundle';
1242import { BusinessError } from '@ohos.base';
1243
1244let uid: number = 20010005;
1245
1246bundle.getNameForUid(uid)
1247  .then((data) => {
1248    console.info('Operation successful. Data: ' + JSON.stringify(data));
1249  }).catch((error: BusinessError) => {
1250    console.error('Operation failed. Cause: ' + JSON.stringify(error));
1251  })
1252```
1253
1254## bundle.getNameForUid<sup>8+</sup> <sup>deprecated<sup>
1255
1256> 从API version 9开始不再维护。
1257
1258getNameForUid(uid: number, callback: AsyncCallback\<string>) : void
1259
1260以异步方法通过uid获取对应的Bundle名称,使用callback形式返回结果。
1261
1262**系统能力:**
1263
1264SystemCapability.BundleManager.BundleFramework
1265
1266**参数:**
1267
1268| 参数名   | 类型                   | 必填 | 说明                                                  |
1269| -------- | ---------------------- | ---- | ----------------------------------------------------- |
1270| uid      | number                 | 是   | 要查询的uid。                                         |
1271| callback | AsyncCallback\<string> | 是   | 程序启动作为入参的回调函数,返回指定uid的Bundle名称。 |
1272
1273**示例:**
1274
1275```ts
1276import bundle from '@ohos.bundle';
1277
1278let uid: number = 20010005;
1279
1280bundle.getNameForUid(uid, (err, data) => {
1281  if (err) {
1282    console.error('Operation failed. Cause: ' + JSON.stringify(err));
1283    return;
1284  }
1285  console.info('Operation successful. Data:' + JSON.stringify(data));
1286})
1287```
1288
1289
1290## bundle.getAbilityIcon<sup>8+</sup> <sup>deprecated<sup>
1291
1292> 从API version 9开始不再维护,建议使用[resourceManager.getMediaContent](../apis-localization-kit/js-apis-resource-manager.md#getmediacontent9)替代。
1293
1294getAbilityIcon(bundleName: string, abilityName: string): Promise\<image.PixelMap>
1295
1296以异步方法通过bundleName和abilityName获取对应Icon的[PixelMap](../apis-image-kit/js-apis-image.md),使用Promise形式返回结果。
1297
1298获取调用方自己的信息时不需要权限。
1299
1300**需要权限:**
1301
1302ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
1303
1304**系统能力:**
1305
1306SystemCapability.BundleManager.BundleFramework
1307
1308**参数:**
1309
1310| 参数名      | 类型   | 必填 | 说明                     |
1311| ----------- | ------ | ---- | ------------------------ |
1312| bundleName  | string | 是   | 要查询的应用Bundle名称。 |
1313| abilityName | string | 是   | 要查询的Ability组件名。  |
1314
1315**返回值:**
1316| 类型                  | 说明                                                         |
1317| --------------------- | ------------------------------------------------------------ |
1318| Promise\<image.PixelMap> | 返回值为[PixelMap](../apis-image-kit/js-apis-image.md)。 |
1319
1320**示例:**
1321
1322```ts
1323import bundle from '@ohos.bundle';
1324import { BusinessError } from '@ohos.base';
1325
1326let bundleName: string = "com.example.myapplication";
1327let abilityName: string = "EntryAbility";
1328
1329bundle.getAbilityIcon(bundleName, abilityName)
1330  .then((data) => {
1331    console.info('Operation successful. Data: ' + JSON.stringify(data));
1332  }).catch((error: BusinessError) => {
1333    console.error('Operation failed. Cause: ' + JSON.stringify(error));
1334  })
1335```
1336
1337## bundle.getAbilityIcon<sup>8+</sup> <sup>deprecated<sup>
1338
1339> 从API version 9开始不再维护,建议使用[resourceManager.getMediaContent](../apis-localization-kit/js-apis-resource-manager.md#getmediacontent9)替代。
1340
1341getAbilityIcon(bundleName: string, abilityName: string, callback: AsyncCallback\<image.PixelMap>): void
1342
1343以异步方法通过bundleName和abilityName获取对应Icon的[PixelMap](../apis-image-kit/js-apis-image.md),使用callback形式返回结果。
1344
1345获取调用方自己的信息时不需要权限。
1346
1347**需要权限:**
1348
1349ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDohos.permission.GET_BUNDLE_INFO
1350
1351
1352**系统能力:**
1353
1354SystemCapability.BundleManager.BundleFramework
1355
1356**参数:**
1357
1358| 参数名         | 类型                                       | 必填   | 说明                                              |
1359| ----------- | ---------------------------------------- | ---- |-------------------------------------------------|
1360| bundleName  | string                                   | 是    | 要查询的应用Bundle名称。                                |
1361| abilityName | string                                   | 是    | 要查询的Ability组件名。                                 |
1362| callback   | AsyncCallback\<image.PixelMap> | 是   | 程序启动作为入参的回调函数,返回指定[PixelMap](../apis-image-kit/js-apis-image.md)。 |
1363
1364**示例:**
1365
1366```ts
1367import bundle from '@ohos.bundle';
1368
1369let bundleName: string = "com.example.myapplication";
1370let abilityName: string = "EntryAbility";
1371
1372bundle.getAbilityIcon(bundleName, abilityName, (err, data) => {
1373  if (err) {
1374    console.error('Operation failed. Cause: ' + JSON.stringify(err));
1375    return;
1376  }
1377  console.info('Operation successful. Data:' + JSON.stringify(data));
1378})
1379```
1380
1381## InstallErrorCode<sup>deprecated<sup>
1382> 从API version 9开始不再维护,不推荐使用。
1383
1384 **系统能力:** SystemCapability.BundleManager.BundleFramework
1385
1386| 名称                                                 | 值   | 说明                                             |
1387| ---------------------------------------------------- | ---- | ------------------------------------------------ |
1388| SUCCESS                                              | 0    | 安装成功                                         |
1389| STATUS_INSTALL_FAILURE                               | 1    | 安装失败(不存在安装的应用)                     |
1390| STATUS_INSTALL_FAILURE_ABORTED                       | 2    | 安装中止                                         |
1391| STATUS_INSTALL_FAILURE_INVALID                       | 3    | 安装参数无效                                     |
1392| STATUS_INSTALL_FAILURE_CONFLICT                      | 4    | 安装冲突 (常见于升级和已有应用基本信息不一致)  |
1393| STATUS_INSTALL_FAILURE_STORAGE                       | 5    | 存储包信息失败                                   |
1394| STATUS_INSTALL_FAILURE_INCOMPATIBLE                  | 6    | 安装不兼容(常见于版本降级安装或者签名信息错误) |
1395| STATUS_UNINSTALL_FAILURE                             | 7    | 卸载失败 (不存在卸载的应用)                    |
1396| STATUS_UNINSTALL_FAILURE_BLOCKED                     | 8    | 卸载中止 (没有使用)                            |
1397| STATUS_UNINSTALL_FAILURE_ABORTED                     | 9    | 卸载中止 (参数无效导致)                        |
1398| STATUS_UNINSTALL_FAILURE_CONFLICT                    | 10   | 卸载冲突 (卸载系统应用失败, 结束应用进程失败) |
1399| STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT              | 0x0B | 安装失败 (下载超时)                            |
1400| STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED               | 0x0C | 安装失败 (下载失败)                            |
1401| STATUS_RECOVER_FAILURE_INVALID<sup>8+</sup>          | 0x0D | 恢复预置应用失败                                 |
1402| STATUS_ABILITY_NOT_FOUND                             | 0x40 | Ability未找到                                    |
1403| STATUS_BMS_SERVICE_ERROR                             | 0x41 | BMS服务错误                                      |
1404| STATUS_FAILED_NO_SPACE_LEFT<sup>8+</sup>             | 0x42 | 设备空间不足                                     |
1405| STATUS_GRANT_REQUEST_PERMISSIONS_FAILED<sup>8+</sup> | 0x43 | 应用授权失败                                     |
1406| STATUS_INSTALL_PERMISSION_DENIED<sup>8+</sup>        | 0x44 | 缺少安装权限                                     |
1407| STATUS_UNINSTALL_PERMISSION_DENIED<sup>8+</sup>      | 0x45 | 缺少卸载权限                                     |
1408
1409## BundleFlag<sup>deprecated<sup>
1410
1411> 从API version 9开始不再维护,建议使用[bundleManager.BundleFlag](js-apis-bundleManager.md#bundleflag)替代。
1412
1413包信息标志,指示需要获取的包信息的内容。
1414
1415当接口与标志不匹配时,该标志会被忽略,例如获取application时使用GET_ABILITY_INFO_WITH_PERMISSION对结果不会产生影响。
1416
1417标志可以叠加使用,例如使用GET_APPLICATION_INFO_WITH_PERMISSION + GET_APPLICATION_INFO_WITH_DISABLE可以使结果同时包含应用权限信息和被禁用的应用信息。
1418
1419 **系统能力:** SystemCapability.BundleManager.BundleFramework
1420
1421| 名称                                            | 值         | 说明                            |
1422| ----------------------------------------------- | ---------- | ------------------------------- |
1423| GET_BUNDLE_DEFAULT                              | 0x00000000 | 获取默认的应用信息              |
1424| GET_BUNDLE_WITH_ABILITIES                       | 0x00000001 | 获取包括Ability信息的包信息     |
1425| GET_ABILITY_INFO_WITH_PERMISSION                | 0x00000002 | 获取包括权限的Ability信息       |
1426| GET_ABILITY_INFO_WITH_APPLICATION               | 0x00000004 | 获取包括Application的ability信息       |
1427| GET_APPLICATION_INFO_WITH_PERMISSION            | 0x00000008 | 获取包括权限的应用信息          |
1428| GET_BUNDLE_WITH_REQUESTED_PERMISSION            | 0x00000010 | 获取包括所需权限的包信息        |
1429| GET_ABILITY_INFO_WITH_METADATA<sup>8+</sup>     | 0x00000020 | 获取ability的元数据信息         |
1430| GET_APPLICATION_INFO_WITH_METADATA<sup>8+</sup> | 0x00000040 | 获取应用的元数据信息            |
1431| GET_ABILITY_INFO_SYSTEMAPP_ONLY<sup>8+</sup>    | 0x00000080 | 获取仅包括系统应用的ability信息 |
1432| GET_ABILITY_INFO_WITH_DISABLE<sup>8+</sup>      | 0x00000100 | 获取包括被禁用的ability信息     |
1433| GET_APPLICATION_INFO_WITH_DISABLE<sup>8+</sup>  | 0x00000200 | 获取包括被禁用的应用信息        |
1434| GET_ALL_APPLICATION_INFO                        | 0xFFFF0000 | 获取应用所有的信息              |
1435
1436## BundleOptions<sup>deprecated<sup>
1437> 从API version 9开始不再维护,不推荐使用。
1438
1439查询选项,包含userId。
1440
1441 **系统能力:** SystemCapability.BundleManager.BundleFramework
1442
1443| 名称   | 类型   | 只读 | 可选 | 说明                                                  |
1444| ------ | ------ | ---- | ---- | ----------------------------------------------------- |
1445| userId | number | 否   | 是   | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
1446
1447## AbilityType<sup>deprecated<sup>
1448
1449> 从API version 9开始不再维护,建议使用[bundleManager.AbilityType](js-apis-bundleManager.md#abilitytype)替代。
1450
1451Ability组件类型。
1452
1453 **系统能力:** SystemCapability.BundleManager.BundleFramework
1454
1455| 名称 | 值 | 说明                        |
1456| ------- | ---- | --------------------------- |
1457| UNKNOWN | 无   | 未知Ability类型             |
1458| PAGE    | 无   | 表示基于Page模板开发的FA,用于提供与用户交互的能力        |
1459| SERVICE | 无   | 表示基于Service模板开发的PA,用于提供后台运行任务的能力           |
1460| DATA    | 无   | 表示基于Data模板开发的PA,用于对外部提供统一的数据访问对象 |
1461
1462## DisplayOrientation<sup>deprecated<sup>
1463
1464> 从API version 9开始不再维护,建议使用[bundleManager.DisplayOrientation](js-apis-bundleManager.md#displayorientation)替代。
1465
1466屏幕显示方向。
1467
1468 **系统能力:** SystemCapability.BundleManager.BundleFramework
1469
1470| 名称          | 值   | 说明                     |
1471| ------------- | ---- | ------------------------ |
1472| UNSPECIFIED   | 无   | 屏幕方向--不指定         |
1473| LANDSCAPE     | 无   | 屏幕方向--横屏           |
1474| PORTRAIT      | 无   | 屏幕方向--竖屏           |
1475| FOLLOW_RECENT | 无   | 屏幕方向--紧跟上一个组件 |
1476## LaunchMode<sup>deprecated<sup>
1477
1478> 从API version 9开始不再维护,建议使用[bundleManager.LaunchType](js-apis-bundleManager.md#launchtype)替代。
1479
1480Ability组件的启动模式。
1481
1482 **系统能力:** SystemCapability.BundleManager.BundleFramework
1483
1484| 名称      | 值   | 说明                |
1485| --------- | ---- | ------------------- |
1486| SINGLETON | 0    | Ability只有一个实例 |
1487| STANDARD  | 1    | Ability有多个实例   |
1488
1489## AbilitySubType<sup>deprecated<sup>
1490> 从API version 9开始不再维护,不推荐使用。
1491
1492Ability组件的子类型。
1493
1494 **系统能力:** SystemCapability.BundleManager.BundleFramework
1495
1496| 名称        | 值   | 说明                          |
1497| ----------- | ---- | ----------------------------- |
1498| UNSPECIFIED | 0    | 未定义Ability子类型           |
1499| CA          | 1    | Ability子类型是带有 UI 的服务 |
1500
1501## ColorMode<sup>deprecated<sup>
1502> 从API version 9开始不再维护,不推荐使用。
1503
1504应用、卡片等的颜色模式。
1505
1506 **系统能力:** SystemCapability.BundleManager.BundleFramework
1507
1508| 名称       | 值   | 说明     |
1509| ---------- | ---- | -------- |
1510| AUTO_MODE  | -1   | 自动模式 |
1511| DARK_MODE  | 0    | 黑色模式 |
1512| LIGHT_MODE | 1    | 亮度模式 |
1513
1514
1515## GrantStatus<sup>deprecated<sup>
1516
1517> 从API version 9开始不再维护,建议使用[bundleManager.PermissionGrantState](js-apis-bundleManager.md#permissiongrantstate)替代。
1518
1519权限授予状态。
1520
1521 **系统能力:** SystemCapability.BundleManager.BundleFramework
1522
1523| 名称               | 值   | 说明         |
1524| ------------------ | ---- | ------------ |
1525| PERMISSION_DENIED  | -1   | 拒绝授予权限 |
1526| PERMISSION_GRANTED | 0    | 授予权限     |
1527