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