js-apis-Bundle.md 50.5 KB
Newer Older
S
shuaiyutao 已提交
1 2
# Bundle模块(JS端SDK接口)

qq_41863798's avatar
qq_41863798 已提交
3
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
S
shuaiyutao 已提交
4 5
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 
> API9 当前为Canary版本,仅供试用,不保证接口可稳定调用。
S
shuaiyutao 已提交
6 7 8 9 10 11 12 13 14 15 16 17
## 导入模块

```
import bundle from '@ohos.bundle';
```

## 系统能力

SystemCapability.BundleManager.BundleFramework

## 权限列表

H
HelloCrease 已提交
18 19 20
| 权限                                       | 权限等级         | 描述        |
| ---------------------------------------- | ------------ | --------- |
| ohos.permission.GET_BUNDLE_INFO          | normal       | 仅限查询本应用信息 |
W
wanghang 已提交
21
| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息 |
H
HelloCrease 已提交
22
| ohos.permission.INSTALL_BUNDLE           | system_core  | 可安装、卸载应用  |
S
shuaiyutao 已提交
23 24 25

## bundle.getApplicationInfo

qq_41863798's avatar
qq_41863798 已提交
26
getApplicationInfo(bundleName: string, bundleFlags: number, userId?: number): Promise\<ApplicationInfo>
S
shuaiyutao 已提交
27 28 29 30 31

以异步方法根据给定的包名获取ApplicationInfo,使用Promise形式返回结果。

**需要权限:**

J
junyi233 已提交
32
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
S
shuaiyutao 已提交
33

34 35 36 37
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
38 39
**参数:**

H
HelloCrease 已提交
40 41 42 43 44
| 名称          | 类型     | 必填   | 描述                                      |
| ----------- | ------ | ---- | --------------------------------------- |
| bundleName  | string | 是    | 要查询的应用程序包名称。                            |
| bundleFlags | number | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId      | number | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
S
shuaiyutao 已提交
45 46 47

**返回值:**

H
HelloCrease 已提交
48 49
| 类型                        | 说明                 |
| ------------------------- | ------------------ |
W
wanghang 已提交
50
| Promise\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | Promise形式返回应用程序信息。 |
S
shuaiyutao 已提交
51 52 53 54

**示例:**

```js
W
wanghang 已提交
55 56 57 58 59 60 61 62
let bundleName = "com.example.myapplication";
let bundleFlags = 0;
let userId = 100;
bundle.getApplicationInfo(bundleName, bundleFlags, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
S
shuaiyutao 已提交
63 64 65 66 67 68 69 70 71 72 73 74 75
})
```



## bundle.getApplicationInfo

getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback\<ApplicationInfo>): void

以异步方法根据给定的包名获取ApplicationInfo,使用callback形式返回结果。

**需要权限:**

J
junyi233 已提交
76
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
S
shuaiyutao 已提交
77

78 79 80 81
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
82 83
**参数:**

H
HelloCrease 已提交
84 85 86 87 88
| 名称          | 类型                              | 必填   | 描述                                      |
| ----------- | ------------------------------- | ---- | --------------------------------------- |
| bundleName  | string                          | 是    | 要查询的应用程序包名称。                            |
| bundleFlags | number                          | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId      | number                          | 是    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
W
wanghang 已提交
89
| callback    | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 是    | 程序启动作为入参的回调函数,返回应用程序信息。                 |
S
shuaiyutao 已提交
90 91 92 93

**示例:**

```js
W
wanghang 已提交
94 95 96 97 98 99 100 101 102 103
let bundleName = "com.example.myapplication";
let bundleFlags = 0;
let userId = 100;
bundle.getApplicationInfo(bundleName, bundleFlags, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
 })
S
shuaiyutao 已提交
104 105 106
```


qq_41863798's avatar
qq_41863798 已提交
107 108 109 110 111 112 113 114
## bundle.getApplicationInfo

getApplicationInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<ApplicationInfo>): void

以异步方法根据给定的包名获取ApplicationInfo,使用callback形式返回结果。

**需要权限:**

J
junyi233 已提交
115
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
qq_41863798's avatar
qq_41863798 已提交
116 117 118 119 120 121 122

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
123 124 125 126
| 名称          | 类型                              | 必填   | 描述                                      |
| ----------- | ------------------------------- | ---- | --------------------------------------- |
| bundleName  | string                          | 是    | 要查询的应用程序包名称。                            |
| bundleFlags | number                          | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
127
| callback    | AsyncCallback\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)> | 是    | 程序启动作为入参的回调函数,返回应用程序信息。                 |
qq_41863798's avatar
qq_41863798 已提交
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

**示例:**

```js
let bundleName = "com.example.myapplication";
let bundleFlags = 0;
bundle.getApplicationInfo(bundleName, bundleFlags, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
 })
```

S
shuaiyutao 已提交
143 144 145

## bundle.getAllBundleInfo

W
wanghang 已提交
146
getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise<Array\<BundleInfo>>
S
shuaiyutao 已提交
147 148 149 150 151 152 153

以异步方法获取系统中所有可用的BundleInfo,使用Promise形式返回结果。

**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

154 155 156 157
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
158 159
**参数:**

H
HelloCrease 已提交
160 161 162 163
| 名称         | 类型         | 必填   | 描述                                      |
| ---------- | ---------- | ---- | --------------------------------------- |
| bundleFlag | BundleFlag | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId     | number     | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
S
shuaiyutao 已提交
164 165 166

**返回值:**

H
HelloCrease 已提交
167 168
| 类型                          | 说明                         |
| --------------------------- | -------------------------- |
W
wanghang 已提交
169
| Promise<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | Promise形式返回所有可用的BundleInfo |
S
shuaiyutao 已提交
170 171 172 173

**示例:**

```js
W
wanghang 已提交
174 175 176 177 178 179 180
let bundleFlag = 0;
let userId = 100;
bundle.getAllBundleInfo(bundleFlag, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
S
shuaiyutao 已提交
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
})
```



## bundle.getAllBundleInfo

getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array\<BundleInfo>>): void

以异步方法获取系统中所有可用的BundleInfo,使用callback形式返回结果。

**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

196 197 198 199
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
200 201
**参数:**

H
HelloCrease 已提交
202 203 204
| 名称         | 类型                                | 必填   | 描述                                      |
| ---------- | --------------------------------- | ---- | --------------------------------------- |
| bundleFlag | BundleFlag                        | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
205
| callback   | AsyncCallback<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。        |
S
shuaiyutao 已提交
206 207 208 209

**示例:**

```js
W
wanghang 已提交
210 211 212 213 214 215 216 217 218
let bundleFlag = 0;
bundle.getAllBundleInfo(bundleFlag, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
 })
```
S
shuaiyutao 已提交
219

W
wanghang 已提交
220 221 222 223 224 225 226 227 228 229 230

## bundle.getAllBundleInfo

getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback<Array\<BundleInfo>>): void

以异步方法获取系统中所有可用的BundleInfo,使用callback形式返回结果。

**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

231 232 233 234
**系统能力:**

SystemCapability.BundleManager.BundleFramework

W
wanghang 已提交
235 236
**参数:**

H
HelloCrease 已提交
237 238 239 240
| 名称         | 类型                                | 必填   | 描述                                      |
| ---------- | --------------------------------- | ---- | --------------------------------------- |
| bundleFlag | BundleFlag                        | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId     | number                            | 是    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
W
wanghang 已提交
241
| callback   | AsyncCallback<Array\<[BundleInfo](js-apis-bundle-BundleInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回所有可用的BundleInfo。        |
W
wanghang 已提交
242 243 244 245 246 247 248 249 250 251 252 253 254

**示例:**

```js
let bundleFlag = 0;
let userId = 100;
bundle.getAllBundleInfo(bundleFlag, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
 })
S
shuaiyutao 已提交
255 256 257 258 259 260
```



## bundle.getBundleInfo

W
wanghang 已提交
261
getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): Promise\<BundleInfo>
S
shuaiyutao 已提交
262 263 264 265 266

以异步方法根据给定的包名获取BundleInfo,使用Promise形式返回结果。

**需要权限:**

J
junyi233 已提交
267
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
S
shuaiyutao 已提交
268

269 270 271 272
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
273 274
**参数:**

H
HelloCrease 已提交
275 276 277 278
| 名称          | 类型            | 必填   | 描述                                      |
| ----------- | ------------- | ---- | --------------------------------------- |
| bundleName  | string        | 是    | 包名                                      |
| bundleFlags | number        | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
279
| options     | [BundleOptions](#bundleoptions) | 否    | 包含userid。                               |
S
shuaiyutao 已提交
280 281 282

**返回值:**

H
HelloCrease 已提交
283 284
| 类型                   | 说明                           |
| -------------------- | ---------------------------- |
W
wanghang 已提交
285
| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 返回值为Promise对象,Promise中包含包信息。 |
S
shuaiyutao 已提交
286 287 288 289

**示例:**

```js
W
wanghang 已提交
290 291 292
let bundleName = "com.example.myapplication";
let bundleFlags = 1;
let options = {
qq_41863798's avatar
qq_41863798 已提交
293
  "userId" : 100
W
wanghang 已提交
294 295 296 297 298 299
};
bundle.getBundleInfo(bundleName, bundleFlags, options)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
S
shuaiyutao 已提交
300 301 302 303 304 305 306 307 308 309 310 311 312
})
```



## bundle.getBundleInfo

getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>): void

以异步方法根据给定的包名获取BundleInfo,使用callback形式返回结果。

**需要权限:**

J
junyi233 已提交
313
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
S
shuaiyutao 已提交
314

315 316 317 318
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
319 320
**参数:**

H
HelloCrease 已提交
321 322 323 324
| 名称          | 类型                         | 必填   | 描述                                      |
| ----------- | -------------------------- | ---- | --------------------------------------- |
| bundleName  | string                     | 是    | 包名                                      |
| bundleFlags | number                     | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
325
| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |
S
shuaiyutao 已提交
326 327 328 329

**示例:**

```js
W
wanghang 已提交
330 331 332 333 334 335 336 337 338
let bundleName = "com.example.myapplication";
let bundleFlags = 1;
bundle.getBundleInfo(bundleName, bundleFlags, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
339 340 341
```


W
wanghang 已提交
342 343 344 345 346 347 348 349
## bundle.getBundleInfo

getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, callback: AsyncCallback\<BundleInfo>): void

以异步方法根据给定的包名获取BundleInfo,使用callback形式返回结果。

**需要权限:**

J
junyi233 已提交
350
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
W
wanghang 已提交
351

352 353 354 355
**系统能力:**

SystemCapability.BundleManager.BundleFramework

W
wanghang 已提交
356 357
**参数:**

H
HelloCrease 已提交
358 359 360 361
| 名称          | 类型                         | 必填   | 描述                                      |
| ----------- | -------------------------- | ---- | --------------------------------------- |
| bundleName  | string                     | 是    | 包名                                      |
| bundleFlags | number                     | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
362
| options     | [BundleOptions](#bundleoptions)              | 是    | 包含userid。                               |
W
wanghang 已提交
363
| callback    | AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回包信息。                    |
W
wanghang 已提交
364 365 366 367 368 369 370

**示例:**

```js
let bundleName = "com.example.myapplication";
let bundleFlags = 1;
let options = {
qq_41863798's avatar
qq_41863798 已提交
371
  "userId" : 100
W
wanghang 已提交
372 373 374 375 376 377 378 379 380 381
};
bundle.getBundleInfo(bundleName, bundleFlags, options, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

S
shuaiyutao 已提交
382 383 384

## bundle.getAllApplicationInfo

qq_41863798's avatar
qq_41863798 已提交
385
getAllApplicationInfo(bundleFlags: number, userId?: number): Promise<Array\<ApplicationInfo>>
S
shuaiyutao 已提交
386 387 388 389 390

获取指定用户下所有已安装的应用信息,通过Promise获取返回值。

**需要权限:**

W
wanghang 已提交
391
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
S
shuaiyutao 已提交
392

393 394 395 396
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
397 398
**参数:**

H
HelloCrease 已提交
399 400 401 402
| 名称          | 类型     | 必填   | 描述                                      |
| ----------- | ------ | ---- | --------------------------------------- |
| bundleFlags | number | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId      | number | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
S
shuaiyutao 已提交
403 404 405

**返回值:**

H
HelloCrease 已提交
406 407
| 类型                               | 说明                              |
| -------------------------------- | ------------------------------- |
W
wanghang 已提交
408
| Promise<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | 返回值为Promise对象,Promise中包含应用信息列表。 |
S
shuaiyutao 已提交
409 410 411 412

**示例:**

```js
W
wanghang 已提交
413 414 415 416 417 418 419
let bundleFlags = 8;
let userId = 100;
bundle.getAllApplicationInfo(bundleFlags, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
S
shuaiyutao 已提交
420 421 422 423 424 425 426 427 428
})
```



## bundle.getAllApplicationInfo

getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array\<ApplicationInfo>>): void

429
获取指定用户下所有已安装的应用信息,使用callback形式返回结果。
S
shuaiyutao 已提交
430 431 432

**需要权限:**

W
wanghang 已提交
433
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
S
shuaiyutao 已提交
434

435 436 437 438
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
439 440
**参数:**

H
HelloCrease 已提交
441 442 443 444
| 名称          | 类型                                     | 必填   | 描述                                      |
| ----------- | -------------------------------------- | ---- | --------------------------------------- |
| bundleFlags | number                                 | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId      | number                                 | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。            |
W
wanghang 已提交
445
| callback    | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回应用信息列表。                 |
S
shuaiyutao 已提交
446 447 448 449

**示例:**

```js
W
wanghang 已提交
450 451 452 453 454 455 456 457 458
let bundleFlags = 8;
let userId = 100;
bundle.getAllApplicationInfo(bundleFlags, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
459 460 461
```


qq_41863798's avatar
qq_41863798 已提交
462 463
## bundle.getAllApplicationInfo

qq_41863798's avatar
qq_41863798 已提交
464
getAllApplicationInfo(bundleFlags: number, callback: AsyncCallback<Array\<ApplicationInfo>>) : void;
qq_41863798's avatar
qq_41863798 已提交
465 466 467 468 469 470 471 472 473 474 475 476 477

获取指定用户下所有已安装的应用信息,使用callback形式返回结果。

**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
478 479 480
| 名称          | 类型                                     | 必填   | 描述                                      |
| ----------- | -------------------------------------- | ---- | --------------------------------------- |
| bundleFlags | number                                 | 是    | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
481
| callback    | AsyncCallback<Array\<[ApplicationInfo](js-apis-bundle-ApplicationInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回应用信息列表。                 |
qq_41863798's avatar
qq_41863798 已提交
482 483 484 485 486 487 488

**示例:**

```js
let bundleFlags = 8;
bundle.getAllApplicationInfo(bundleFlags, (err, data) => {
    if (err) {
W
wanghang 已提交
489 490 491 492 493 494 495 496 497
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

## bundle.getBundleArchiveInfo

498
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number) : Promise\<BundleInfo>
W
wanghang 已提交
499 500 501 502 503 504 505 506 507 508 509 510

以异步方法获取有关HAP包中包含的应用程序包的信息,使用Promise形式返回结果。

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

| 名称         | 类型     | 必填   | 描述           |
| ---------- | ------ | ---- | ------------ |
| hapFilePath | string | 是    | HAP存放路径。路径应指向当前应用程序的数据目录的相对目录。 |
511
| bundleFlags | number | 是    | 用于指定要返回的BundleInfo对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532

**返回值:**
| 类型             | 说明                                     |
| -------------- | -------------------------------------- |
| Promise\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 返回值为Promise对象,Promise中包含有关hap包中包含的应用程序的信息。 |

**示例:**

```js
let hapFilePath = "/data/xxx/test.hap";
let bundleFlags = 0;
bundle.getBundleArchiveInfo(hapFilePath, bundleFlags)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

## bundle.getBundleArchiveInfo

533
getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback\<BundleInfo>) : void
W
wanghang 已提交
534 535 536 537 538 539 540 541 542 543 544 545

以异步方法获取有关HAP包中包含的应用程序包的信息,使用callback形式返回结果。

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

| 名称         | 类型     | 必填   | 描述           |
| ---------- | ------ | ---- | ------------ |
| hapFilePath | string | 是    | HAP存放路径。路径应指向当前应用程序的数据目录的相对目录。 |
546 547
| bundleFlags | number | 是    | 用于指定要返回的BundleInfo对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| callback| AsyncCallback\<[BundleInfo](js-apis-bundle-BundleInfo.md)> | 是    | 程序启动作为入参的回调函数,返回HAP包中包含的应用程序包的信息。 |
W
wanghang 已提交
548 549 550 551 552 553 554 555

**示例:**

```js
let hapFilePath = "/data/xxx/test.hap";
let bundleFlags = 0;
bundle.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => {
    if (err) {
qq_41863798's avatar
qq_41863798 已提交
556 557 558 559 560 561 562
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

qq_41863798's avatar
api 9  
qq_41863798 已提交
563
## bundle.getAbilityInfo
qq_41863798's avatar
qq_41863798 已提交
564

D
dy 已提交
565
getAbilityInfo(bundleName: string, abilityName: string): Promise\<AbilityInfo>
qq_41863798's avatar
qq_41863798 已提交
566

qq_41863798's avatar
qq_41863798 已提交
567
通过包名称和abilityName获取Ability信息,使用Promise形式返回结果。
D
dy 已提交
568 569 570

**需要权限:**

J
junyi233 已提交
571
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
D
dy 已提交
572 573 574 575 576 577 578

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
579 580
| 名称          | 类型     | 必填   | 描述               |
| ----------- | ------ | ---- | ---------------- |
qq_41863798's avatar
qq_41863798 已提交
581 582
| bundleName  | string | 是    | 应用程序包名。     |
| abilityName | string | 是    | Ability名称。 |
D
dy 已提交
583 584 585

**返回值:**

H
HelloCrease 已提交
586 587
| 类型                    | 说明                    |
| --------------------- | --------------------- |
W
wanghang 已提交
588
| Promise\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | Promise形式返回Ability信息。 |
D
dy 已提交
589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604

**示例:**

```js
let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityInfo(bundleName, abilityName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

## bundle.getAbilityInfo

qq_41863798's avatar
qq_41863798 已提交
605
getAbilityInfo(bundleName: string, abilityName: string, callback: AsyncCallback\<AbilityInfo>): void;
D
dy 已提交
606

qq_41863798's avatar
qq_41863798 已提交
607
通过包名称和abilityName获取Ability信息,使用callback形式返回结果。
D
dy 已提交
608 609 610

**需要权限:**

J
junyi233 已提交
611
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
D
dy 已提交
612 613 614 615 616 617 618

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

qq_41863798's avatar
qq_41863798 已提交
619 620 621 622
| 名称         | 类型     | 必填   | 描述            |
| ----------- | ------------ | ---- | ---------------- |
| bundleName  | string | 是    | 应用程序包名。     |
| abilityName | string | 是    | Ability名称。 |
W
wanghang 已提交
623
| callback    | AsyncCallback\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)> | 是    | 程序启动作为入参的回调函数,返回Ability信息。 |
D
dy 已提交
624 625 626 627 628 629 630 631 632 633 634 635 636 637 638

**示例:**

```js
let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityInfo(bundleName, abilityName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

qq_41863798's avatar
qq_41863798 已提交
639
## bundle.getAbilityLabel<sup>8+</sup>
D
dy 已提交
640 641 642

getAbilityLabel(bundleName: string, abilityName: string): Promise\<string>

qq_41863798's avatar
qq_41863798 已提交
643
通过包名称和abilityName获取应用名称,使用Promise形式返回结果。
D
dy 已提交
644 645 646

**需要权限:**

J
junyi233 已提交
647
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
D
dy 已提交
648 649 650 651 652 653 654

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
655 656
| 名称          | 类型     | 必填   | 描述               |
| ----------- | ------ | ---- | ---------------- |
qq_41863798's avatar
qq_41863798 已提交
657 658
| bundleName  | string | 是    | 应用程序包名。     |
| abilityName | string | 是    | Ability名称。 |
D
dy 已提交
659 660 661

**返回值:**

H
HelloCrease 已提交
662 663
| 类型               | 说明                 |
| ---------------- | ------------------ |
D
dy 已提交
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678
| Promise\<string> | Promise形式返回应用名称信息。 |

**示例:**

```js
let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityLabel(bundleName, abilityName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

qq_41863798's avatar
qq_41863798 已提交
679
## bundle.getAbilityLabel<sup>8+</sup>
D
dy 已提交
680 681 682

getAbilityLabel(bundleName: string, abilityName: string, callback : AsyncCallback\<string>): void

qq_41863798's avatar
qq_41863798 已提交
683
通过包名称和abilityName获取应用名称,使用callback形式返回结果。
D
dy 已提交
684 685 686

**需要权限:**

J
junyi233 已提交
687
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
D
dy 已提交
688 689 690 691 692 693 694

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
695 696
| 名称          | 类型                     | 必填   | 描述               |
| ----------- | ---------------------- | ---- | ---------------- |
qq_41863798's avatar
qq_41863798 已提交
697 698 699
| bundleName  | string                 | 是    | 应用程序包名。     |
| abilityName | string                 | 是    | Ability名称。 |
| callback    | AsyncCallback\<string> | 是    | 程序启动作为入参的回调函数,返回应用名称信息。        |
D
dy 已提交
700 701 702 703 704 705 706 707 708 709 710 711 712 713 714

**示例:**

```js
let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityLabel(bundleName, abilityName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

qq_41863798's avatar
qq_41863798 已提交
715
## bundle.isAbilityEnabled<sup>8+</sup>
D
dy 已提交
716 717 718

isAbilityEnabled(info: AbilityInfo): Promise\<boolean>

719
以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用Promise形式返回结果。
D
dy 已提交
720 721 722 723 724 725 726

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
727 728
| 名称   | 类型          | 必填   | 描述           |
| ---- | ----------- | ---- | ------------ |
W
wanghang 已提交
729
| info | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | 是    | Ability的配置信息 |
D
dy 已提交
730 731 732

**返回值:**

H
HelloCrease 已提交
733 734
| 类型                | 说明                        |
| ----------------- | ------------------------- |
D
dy 已提交
735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751
| Promise\<boolean> | Promise形式返回boolean代表是否启用。 |

**示例:**

```js
let Info = {
    bundleName : "com.example.myapplication",
    name : "com.example.myapplication.MainAbility"
};
bundle.isAbilityEnabled(Info)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

qq_41863798's avatar
qq_41863798 已提交
752
## bundle.isAbilityEnabled<sup>8+</sup>
D
dy 已提交
753 754 755

isAbilityEnabled(info : AbilityInfo, callback : AsyncCallback\<boolean>): void

756
以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用callback形式返回结果。
D
dy 已提交
757 758 759 760 761 762 763

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
764 765
| 名称       | 类型                      | 必填   | 描述              |
| -------- | ----------------------- | ---- | --------------- |
W
wanghang 已提交
766
| info     | [AbilityInfo](js-apis-bundle-AbilityInfo.md)             | 是    | Ability的配置信息    |
H
HelloCrease 已提交
767
| callback | AsyncCallback\<boolean> | 是    | 返回boolean代表是否启用 |
D
dy 已提交
768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784

**示例:**

```js
let Info = {
    bundleName : "com.example.myapplication",
    name : "com.example.myapplication.MainAbility"
};
bundle.isAbilityEnabled(Info, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

qq_41863798's avatar
qq_41863798 已提交
785
## bundle.isApplicationEnabled<sup>8+</sup>
D
dy 已提交
786 787 788

isApplicationEnabled(bundleName: string): Promise\<boolean>

789
以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用Promise形式返回结果。
D
dy 已提交
790 791 792 793 794 795 796

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
797 798 799
| 名称         | 类型     | 必填   | 描述           |
| ---------- | ------ | ---- | ------------ |
| bundleName | string | 是    | 要查询的应用程序包名称。 |
D
dy 已提交
800 801 802

**返回值:**

H
HelloCrease 已提交
803 804
| 类型                | 说明                        |
| ----------------- | ------------------------- |
D
dy 已提交
805 806 807 808 809
| Promise\<boolean> | Promise形式返回boolean代表是否启用。 |

**示例:**

```js
qq_41863798's avatar
api 9  
qq_41863798 已提交
810 811
let bundleName = "com.example.myapplication";
bundle.isApplicationEnabled(bundleName)
D
dy 已提交
812 813 814 815 816 817 818
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

qq_41863798's avatar
qq_41863798 已提交
819
## bundle.isApplicationEnabled<sup>8+</sup>
D
dy 已提交
820 821 822

isApplicationEnabled(bundleName: string, callback : AsyncCallback\<boolean>): void

823
以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用callback形式返回结果。
D
dy 已提交
824 825 826 827 828 829 830

**系统能力:**

SystemCapability.BundleManager.BundleFramework

**参数:**

H
HelloCrease 已提交
831 832 833 834
| 名称         | 类型                      | 必填   | 描述              |
| ---------- | ----------------------- | ---- | --------------- |
| bundleName | string                  | 是    | 要查询的应用程序包名称。    |
| callback   | AsyncCallback\<boolean> | 是    | 返回boolean代表是否启用 |
D
dy 已提交
835 836 837 838

**示例:**

```js
H
HelloCrease 已提交
839
let bundleName = "com.example.myapplication";
D
dy 已提交
840 841 842 843 844 845 846 847
bundle.isApplicationEnabled(bundleName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```
S
shuaiyutao 已提交
848 849 850 851 852 853 854 855 856

## bundle.queryAbilityByWant

queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise<Array\<AbilityInfo>>

以异步方法根据给定的意图获取Ability信息,使用Promise形式返回结果。

**需要权限:**

J
junyi233 已提交
857
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
S
shuaiyutao 已提交
858

859 860 861 862
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
863 864
**参数:**

H
HelloCrease 已提交
865 866
| 名称          | 类型     | 必填   | 描述                                    |
| ----------- | ------ | ---- | ------------------------------------- |
W
wanghang 已提交
867
| want        | [Want](js-apis-application-Want.md)   | 是    | 包含要查询的应用程序包名称的意图。                     |
H
HelloCrease 已提交
868 869
| bundleFlags | number | 是    | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 |
| userId      | number | 否    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0           |
S
shuaiyutao 已提交
870 871 872

**返回值:**

H
HelloCrease 已提交
873 874
| 类型                           | 说明                    |
| ---------------------------- | --------------------- |
W
wanghang 已提交
875
| Promise<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | Promise形式返回Ability信息。 |
S
shuaiyutao 已提交
876 877 878 879

**示例:**

```js
W
wanghang 已提交
880 881 882 883 884 885 886 887 888 889 890
let bundleFlags = 0;
let userId = 100;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
S
shuaiyutao 已提交
891 892 893 894 895 896 897 898 899 900 901
})
```



## bundle.queryAbilityByWant

queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback<Array\<AbilityInfo>>): void

以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。

J
junyi233 已提交
902 903 904 905
**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

X
xuezhongzhu 已提交
906 907 908 909
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
910 911
**参数:**

H
HelloCrease 已提交
912 913
| 名称          | 类型                                 | 必填   | 描述                                    |
| ----------- | ---------------------------------- | ---- | ------------------------------------- |
W
wanghang 已提交
914
| want        | [Want](js-apis-application-Want.md) | 是    | 指示包含要查询的应用程序包名称的意图。                   |
H
HelloCrease 已提交
915 916
| bundleFlags | number                             | 是    | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 |
| userId      | number                             | 是    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0           |
W
wanghang 已提交
917
| callback    | AsyncCallback<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回Ability信息。            |
S
shuaiyutao 已提交
918 919 920 921

**示例:**

```js
W
wanghang 已提交
922 923 924 925 926 927 928 929 930 931 932 933 934
let bundleFlags = 0;
let userId = 100;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
935 936 937 938
```

## bundle.queryAbilityByWant

qq_41863798's avatar
qq_41863798 已提交
939
queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback<Array\<AbilityInfo>>): void;
S
shuaiyutao 已提交
940 941 942

以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。

J
junyi233 已提交
943 944 945 946
**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

X
xuezhongzhu 已提交
947 948 949 950
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
951 952
**参数:**

H
HelloCrease 已提交
953 954
| 名称          | 类型                                 | 必填   | 描述                                    |
| ----------- | ---------------------------------- | ---- | ------------------------------------- |
W
wanghang 已提交
955
| want        | [Want](js-apis-application-Want.md)   | 是    | 指示包含要查询的应用程序包名称的意图。                   |
H
HelloCrease 已提交
956
| bundleFlags | number                             | 是    | 用于指定返回abilityInfo信息。默认值:0,取值范围:大于等于0。 |
W
wanghang 已提交
957
| callback    | AsyncCallback<Array\<[AbilityInfo](js-apis-bundle-AbilityInfo.md)>> | 是    | 程序启动作为入参的回调函数,返回Ability信息。            |
S
shuaiyutao 已提交
958 959 960 961

**示例:**

```js
W
wanghang 已提交
962 963 964 965 966 967 968 969 970 971 972 973
let bundleFlags = 0;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
974 975 976 977
```



W
wanghang 已提交
978
## bundle.getLaunchWantForBundle
S
shuaiyutao 已提交
979

W
wanghang 已提交
980 981 982
getLaunchWantForBundle(bundleName: string): Promise\<Want>

以异步方法查询拉起指定应用的want对象,使用Promise形式返回结果。
S
shuaiyutao 已提交
983

W
wanghang 已提交
984 985 986 987
**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

988 989 990 991
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
992 993
**参数:**

H
HelloCrease 已提交
994 995 996
| 名称         | 类型     | 必填   | 描述           |
| ---------- | ------ | ---- | ------------ |
| bundleName | string | 是    | 要查询的应用程序包名称。 |
S
shuaiyutao 已提交
997 998

**返回值:**
H
HelloCrease 已提交
999 1000
| 类型             | 说明                                     |
| -------------- | -------------------------------------- |
W
wanghang 已提交
1001
| Promise\<[Want](js-apis-application-Want.md)> | 返回值为Promise对象,Promise中包含拉起指定应用的Want对象。 |
S
shuaiyutao 已提交
1002 1003 1004 1005

**示例:**

```js
W
wanghang 已提交
1006 1007 1008 1009 1010 1011 1012
let bundleName = "com.example.myapplication";
bundle.getLaunchWantForBundle(bundleName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
S
shuaiyutao 已提交
1013 1014
```

W
wanghang 已提交
1015
## bundle.getLaunchWantForBundle
S
shuaiyutao 已提交
1016

qq_41863798's avatar
api 9  
qq_41863798 已提交
1017
getLaunchWantForBundle(bundleName: string, callback: AsyncCallback\<Want>): void;
S
shuaiyutao 已提交
1018

W
wanghang 已提交
1019
以异步方法查询拉起指定应用的want对象,使用callback形式返回结果。
S
shuaiyutao 已提交
1020

W
wanghang 已提交
1021 1022 1023 1024
**需要权限:**

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

1025 1026 1027 1028
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
1029 1030
**参数:**

H
HelloCrease 已提交
1031 1032 1033
| 名称         | 类型                   | 必填   | 描述                             |
| ---------- | -------------------- | ---- | ------------------------------ |
| bundleName | string               | 是    | 要查询的应用程序包名称。                   |
W
wanghang 已提交
1034
| callback   | AsyncCallback\<[Want](js-apis-application-Want.md)> | 是    | 程序启动作为入参的回调函数,返回拉起指定应用的want对象。 |
S
shuaiyutao 已提交
1035 1036 1037 1038

**示例:**

```js
W
wanghang 已提交
1039 1040 1041 1042 1043 1044 1045 1046
let bundleName = "com.example.myapplication";
bundle.getLaunchWantForBundle(bundleName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
1047 1048 1049
```


qq_41863798's avatar
qq_41863798 已提交
1050
## bundle.getNameForUid<sup>8+</sup>
W
wanghang 已提交
1051 1052

getNameForUid(uid: number): Promise\<string>
S
shuaiyutao 已提交
1053

W
wanghang 已提交
1054
以异步方法通过uid获取对应的包名,使用Promise形式返回结果。
S
shuaiyutao 已提交
1055

X
xuezhongzhu 已提交
1056 1057 1058 1059
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
1060 1061
**参数:**

H
HelloCrease 已提交
1062 1063 1064
| 名称   | 类型     | 必填   | 描述       |
| ---- | ------ | ---- | -------- |
| uid  | number | 是    | 要查询的uid。 |
S
shuaiyutao 已提交
1065 1066

**返回值:**
H
HelloCrease 已提交
1067 1068
| 类型               | 说明                                |
| ---------------- | --------------------------------- |
W
wanghang 已提交
1069
| Promise\<string> | 返回值为Promise对象,Promise中包含指定uid的包名。 |
S
shuaiyutao 已提交
1070 1071 1072 1073

**示例:**

```js
W
wanghang 已提交
1074 1075 1076 1077 1078 1079 1080
let uid = 20010005;
bundle.getNameForUid(uid)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
S
shuaiyutao 已提交
1081 1082
```

qq_41863798's avatar
qq_41863798 已提交
1083
## bundle.getNameForUid<sup>8+</sup>
S
shuaiyutao 已提交
1084

qq_41863798's avatar
qq_41863798 已提交
1085
getNameForUid(uid: number, callback: AsyncCallback\<string>) : void
S
shuaiyutao 已提交
1086

W
wanghang 已提交
1087
以异步方法通过uid获取对应的包名,使用callback形式返回结果。
S
shuaiyutao 已提交
1088

X
xuezhongzhu 已提交
1089 1090 1091 1092
**系统能力:**

SystemCapability.BundleManager.BundleFramework

S
shuaiyutao 已提交
1093 1094
**参数:**

H
HelloCrease 已提交
1095 1096 1097 1098
| 名称       | 类型                     | 必填   | 描述                        |
| -------- | ---------------------- | ---- | ------------------------- |
| uid      | number                 | 是    | 要查询的uid。                  |
| callback | AsyncCallback\<string> | 是    | 程序启动作为入参的回调函数,返回指定uid的包名。 |
S
shuaiyutao 已提交
1099 1100 1101 1102

**示例:**

```js
W
wanghang 已提交
1103 1104 1105 1106 1107 1108 1109 1110
let uid = 20010005;
bundle.getNameForUid(uid, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
S
shuaiyutao 已提交
1111 1112
```

qq_41863798's avatar
qq_41863798 已提交
1113

qq_41863798's avatar
qq_41863798 已提交
1114
## bundle.getAbilityIcon<sup>8+</sup>
qq_41863798's avatar
qq_41863798 已提交
1115

qq_41863798's avatar
qq_41863798 已提交
1116
getAbilityIcon(bundleName: string, abilityName: string): Promise\<image.PixelMap>;
qq_41863798's avatar
qq_41863798 已提交
1117

qq_41863798's avatar
api 9  
qq_41863798 已提交
1118
以异步方法通过bundleName和abilityName获取对应Icon的[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md),使用Promise形式返回结果。
qq_41863798's avatar
qq_41863798 已提交
1119

qq_41863798's avatar
qq_41863798 已提交
1120 1121
**需要权限:**

J
junyi233 已提交
1122
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
qq_41863798's avatar
qq_41863798 已提交
1123 1124 1125 1126 1127

**系统能力:**

SystemCapability.BundleManager.BundleFramework

qq_41863798's avatar
qq_41863798 已提交
1128 1129
**参数:**

qq_41863798's avatar
qq_41863798 已提交
1130 1131 1132 1133
| 名称          | 类型                                       | 必填   | 描述                                       |
| ----------- | ---------------------------------------- | ---- | ---------------------------------------- |
| bundleName  | string                                   | 是    | 要查询的bundleName。                          |
| abilityName | string                                   | 是    | 要查询的abilityName。                         |
qq_41863798's avatar
qq_41863798 已提交
1134 1135 1136 1137

**返回值:**
| 类型                  | 说明                                                         |
| --------------------- | ------------------------------------------------------------ |
qq_41863798's avatar
qq_41863798 已提交
1138
| Promise\<image.PixelMap> | 返回值为[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md)。 |
qq_41863798's avatar
qq_41863798 已提交
1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152

**示例:**

```js
let bundleName = com.example.myapplication;
let abilityName = com.example.myapplication.MainAbility;
bundle.getAbilityIcon(bundleName, abilityName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})
```

qq_41863798's avatar
qq_41863798 已提交
1153
## bundle.getAbilityIcon<sup>8+</sup>
qq_41863798's avatar
qq_41863798 已提交
1154

qq_41863798's avatar
qq_41863798 已提交
1155
getAbilityIcon(bundleName: string, abilityName: string, callback: AsyncCallback\<image.PixelMap>): void;
qq_41863798's avatar
qq_41863798 已提交
1156

R
RayShih 已提交
1157
以异步方法通过bundleName和abilityName获取对应Icon的[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md),使用callback形式返回结果。
qq_41863798's avatar
qq_41863798 已提交
1158

qq_41863798's avatar
qq_41863798 已提交
1159 1160
**需要权限:**

J
junyi233 已提交
1161
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO
qq_41863798's avatar
qq_41863798 已提交
1162 1163 1164 1165 1166

**系统能力:**

SystemCapability.BundleManager.BundleFramework

qq_41863798's avatar
qq_41863798 已提交
1167 1168
**参数:**

qq_41863798's avatar
qq_41863798 已提交
1169 1170 1171 1172 1173
| 名称          | 类型                                       | 必填   | 描述                                       |
| ----------- | ---------------------------------------- | ---- | ---------------------------------------- |
| bundleName  | string                                   | 是    | 要查询的bundleName。                          |
| abilityName | string                                   | 是    | 要查询的abilityName。                         |
| callback   | AsyncCallback\<image.PixelMap> | 是   | 程序启动作为入参的回调函数,返回指定[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md)。 |
qq_41863798's avatar
qq_41863798 已提交
1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188

**示例:**

```js
let bundleName = com.example.myapplication;
let abilityName = com.example.myapplication.MainAbility;
bundle.getAbilityIcon(bundleName, abilityName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})
```

qq_41863798's avatar
qq_41863798 已提交
1189
## InstallErrorCode
S
shuaiyutao 已提交
1190

qq_41863798's avatar
api 9  
qq_41863798 已提交
1191
 **系统能力:** SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1192

H
HelloCrease 已提交
1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214
| 名称                                       | 默认值  | 说明                        |
| ---------------------------------------- | ---- | ------------------------- |
| SUCCESS                                  | 0    | 安装成功                      |
| STATUS_INSTALL_FAILURE                   | 1    | 安装失败(不存在安装的应用)            |
| STATUS_INSTALL_FAILURE_ABORTED           | 2    | 安装中止                      |
| STATUS_INSTALL_FAILURE_INVALID           | 3    | 安装参数无效                    |
| STATUS_INSTALL_FAILURE_CONFLICT          | 4    | 安装冲突 (常见于升级和已有应用基本信息不一致)  |
| STATUS_INSTALL_FAILURE_STORAGE           | 5    | 存储包信息失败                   |
| STATUS_INSTALL_FAILURE_INCOMPATIBLE      | 6    | 安装不兼容(常见于版本降级安装或者签名信息错误)  |
| STATUS_UNINSTALL_FAILURE                 | 7    | 卸载失败 (不存在卸载的应用)           |
| STATUS_UNINSTALL_FAILURE_BLOCKED         | 8    | 卸载中止 (没有使用)               |
| STATUS_UNINSTALL_FAILURE_ABORTED         | 9    | 卸载中止 (参数无效导致)             |
| STATUS_UNINSTALL_FAILURE_CONFLICT        | 10   | 卸载冲突 (卸载系统应用失败, 结束应用进程失败) |
| STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT  | 0x0B | 安装失败 (下载超时)               |
| STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED   | 0x0C | 安装失败 (下载失败)               |
| STATUS_RECOVER_FAILURE_INVALID<sup>8+</sup> | 0x0D | 恢复预置应用失败                  |
| STATUS_ABILITY_NOT_FOUND                 | 0x40 | Ability未找到                |
| STATUS_BMS_SERVICE_ERROR                 | 0x41 | BMS服务错误                   |
| STATUS_FAILED_NO_SPACE_LEFT<sup>8+</sup> | 0x42 | 设备空间不足                    |
| STATUS_GRANT_REQUEST_PERMISSIONS_FAILED<sup>8+</sup> | 0x43 | 应用授权失败                    |
| STATUS_INSTALL_PERMISSION_DENIED<sup>8+</sup> | 0x44 | 安装权限拒绝                    |
| STATUS_UNINSTALL_PERMISSION_DENIED<sup>8+</sup> | 0x45 | 卸载权限拒绝                    |
W
wanghang 已提交
1215 1216 1217 1218 1219

## BundleFlag

包的标志

qq_41863798's avatar
api 9  
qq_41863798 已提交
1220
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1221

H
HelloCrease 已提交
1222 1223 1224 1225 1226 1227 1228 1229 1230
| 名称                                       | 默认值        | 说明                  |
| ---------------------------------------- | ---------- | ------------------- |
| GET_BUNDLE_DEFAULT                       | 0x00000000 | 获取默认的应用信息           |
| GET_BUNDLE_WITH_ABILITIES                | 0x00000001 | 获取包括Ability信息的包信息   |
| GET_ABILITY_INFO_WITH_PERMISSION         | 0x00000002 | 获取包括权限的Ability信息    |
| GET_ABILITY_INFO_WITH_APPLICATION        | 0x00000004 | 获取包括应用的Ability信息    |
| GET_APPLICATION_INFO_WITH_PERMISSION     | 0x00000008 | 获取包括权限的应用信息         |
| GET_BUNDLE_WITH_REQUESTED_PERMISSION     | 0x00000010 | 获取包括所需权限的包信息        |
| GET_ABILITY_INFO_WITH_METADATA<sup>8+</sup> | 0x00000020 | 获取ability的元数据信息     |
qq_41863798's avatar
qq_41863798 已提交
1231
| GET_BUNDLE_WITH_EXTENSION_ABILITY<sup>9+</sup> | 0x00000020 | 获取包括Ability信息的扩展包信息 |
H
HelloCrease 已提交
1232
| GET_APPLICATION_INFO_WITH_METADATA<sup>8+</sup> | 0x00000040 | 获取应用的元数据信息          |
qq_41863798's avatar
qq_41863798 已提交
1233
| GET_ABILITY_INFO_SYSTEMAPP_ONLY<sup>8+</sup> | 0x00000080 | 获取仅包括系统应用的ability信息 |
H
HelloCrease 已提交
1234 1235 1236
| GET_ABILITY_INFO_WITH_DISABLE<sup>8+</sup> | 0x00000100 | 获取包括被禁用的ability信息   |
| GET_APPLICATION_INFO_WITH_DISABLE<sup>8+</sup> | 0x00000200 | 获取包括被禁用的应用信息        |
| GET_ALL_APPLICATION_INFO                 | 0xFFFF0000 | 获取应用所有的信息           |
W
wanghang 已提交
1237 1238 1239 1240 1241

## BundleOptions

包的选项

qq_41863798's avatar
api 9  
qq_41863798 已提交
1242
 **系统能力:** SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1243

H
HelloCrease 已提交
1244 1245 1246
| 名称     | 类型     | 可读   | 可写   | 说明                           |
| ------ | ------ | ---- | ---- | ---------------------------- |
| userId | number | 是    | 是    | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
W
wanghang 已提交
1247 1248 1249 1250


## AbilityType

W
wanghang 已提交
1251 1252
Ability类型

qq_41863798's avatar
api 9  
qq_41863798 已提交
1253
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1254

H
HelloCrease 已提交
1255 1256 1257 1258 1259 1260
| 名称      | 类型   | 说明                |
| ------- | ---- | ----------------- |
| UNKNOWN | 无    | 未知Ability类型       |
| PAGE    | 无    | Ability有一个UI界面    |
| SERVICE | 无    | Ability没有UI界面     |
| DATA    | 无    | Ability用于提供数据访问服务 |
W
wanghang 已提交
1261 1262 1263

## DisplayOrientation

W
wanghang 已提交
1264 1265
屏幕显示方向

qq_41863798's avatar
api 9  
qq_41863798 已提交
1266
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1267

H
HelloCrease 已提交
1268 1269 1270 1271 1272 1273
| 名称            | 类型   | 说明            |
| ------------- | ---- | ------------- |
| UNSPECIFIED   | 无    | 屏幕方向--不指定     |
| LANDSCAPE     | 无    | 屏幕方向--横屏      |
| PORTRAIT      | 无    | 屏幕方向--竖屏      |
| FOLLOW_RECENT | 无    | 屏幕方向--紧跟上一个组件 |
W
wanghang 已提交
1274 1275 1276

## LaunchMode

W
wanghang 已提交
1277 1278
启动模式

qq_41863798's avatar
api 9  
qq_41863798 已提交
1279
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1280

H
HelloCrease 已提交
1281 1282 1283 1284
| 名称        | 类型   | 说明            |
| --------- | ---- | ------------- |
| SINGLETON | 0    | Ability只有一个示例 |
| STANDARD  | 1    | Ability有多个示例  |
W
wanghang 已提交
1285 1286 1287 1288 1289

## AbilitySubType

Ability的子类型

qq_41863798's avatar
api 9  
qq_41863798 已提交
1290
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
X
xuezhongzhu 已提交
1291

H
HelloCrease 已提交
1292 1293 1294
| 名称          | 类型   | 说明                   |
| ----------- | ---- | -------------------- |
| UNSPECIFIED | 0    | 未定义Ability子类型        |
W
wanghang 已提交
1295
| CA          | 1    | Ability子类型是带有 UI 的服务 |
qq_41863798's avatar
api 9  
qq_41863798 已提交
1296

qq_41863798's avatar
qq_41863798 已提交
1297
## ExtensionAbilityType<sup>9+</sup>
qq_41863798's avatar
api 9  
qq_41863798 已提交
1298 1299 1300

ExtensionAbility的类型

qq_41863798's avatar
api 9  
qq_41863798 已提交
1301
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
qq_41863798's avatar
api 9  
qq_41863798 已提交
1302

H
HelloCrease 已提交
1303 1304 1305
| 名称                             | 类型   | 说明                        |
| ------------------------------ | ---- | ------------------------- |
| FORM<sup>9+</sup>              | 0    | ExtensionAbility的类型包括卡片   |
qq_41863798's avatar
qq_41863798 已提交
1306
| WORK_SCHEDULER<sup>9+</sup>    | 1    | ExtensionAbility的类型包括行程安排 |
H
HelloCrease 已提交
1307 1308 1309 1310 1311 1312 1313 1314
| INPUT_METHOD<sup>9+</sup>      | 2    | ExtensionAbility的类型包括输入法  |
| SERVICE<sup>9+</sup>           | 3    | ExtensionAbility的类型包括服务   |
| ACCESSIBILITY<sup>9+</sup>     | 4    | ExtensionAbility的类型包括无障碍  |
| DATA_SHARE<sup>9+</sup>        | 5    | ExtensionAbility的类型包括数据共享 |
| FILE_SHARE<sup>9+</sup>        | 6    | ExtensionAbility的类型包括文件共享 |
| STATIC_SUBSCRIBER<sup>9+</sup> | 7    | ExtensionAbility的类型包括订阅者  |
| WALLPAPER<sup>9+</sup>         | 8    | ExtensionAbility的类型包括墙纸   |
| UNSPECIFIED<sup>9+</sup>       | 9    | ExtensionAbility未指定类型     |
qq_41863798's avatar
qq_41863798 已提交
1315 1316

## ExtensionFlag<sup>9+</sup>
qq_41863798's avatar
api 9  
qq_41863798 已提交
1317 1318 1319

扩展标志

qq_41863798's avatar
api 9  
qq_41863798 已提交
1320
 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
qq_41863798's avatar
api 9  
qq_41863798 已提交
1321

H
HelloCrease 已提交
1322 1323 1324 1325 1326
| 名称                                       | 默认值        | 说明                             |
| ---------------------------------------- | ---------- | ------------------------------ |
| GET_EXTENSION_INFO_DEFAULT<sup>9+</sup>  | 0x00000000 | 获取默认的extensionAbilityInfo      |
| GET_EXTENSION_INFO_WITH_PERMISSION<sup>9+</sup> | 0x00000002 | 获取携带权限信息的extensionAbilityInfo  |
| GET_EXTENSION_INFO_WITH_APPLICATION<sup>9+</sup> | 0x00000004 | 获取携带应用信息的extensionAbilityInfo  |
qq_41863798's avatar
qq_41863798 已提交
1327
| GET_EXTENSION_INFO_WITH_METADATA<sup>9+</sup> | 0x00000020 | 获取携带元数据信息的extensionAbilityInfo |
qq_41863798's avatar
api 9  
qq_41863798 已提交
1328

qq_41863798's avatar
qq_41863798 已提交
1329 1330 1331 1332 1333 1334
## ColorMode

颜色模式

 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

H
HelloCrease 已提交
1335 1336 1337
| 名称         | 类型   | 说明   |
| ---------- | ---- | ---- |
| AUTO_MODE  | -1   | 自动模式 |
qq_41863798's avatar
qq_41863798 已提交
1338 1339
| DARK_MODE  | 0    | 黑色模式 |
| LIGHT_MODE | 1    | 亮度模式 |
qq_41863798's avatar
qq_41863798 已提交
1340 1341 1342 1343 1344 1345 1346

## GrantStatus

授予状态

 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

H
HelloCrease 已提交
1347 1348 1349 1350
| 名称                 | 类型   | 说明   |
| ------------------ | ---- | ---- |
| PERMISSION_DENIED  | -1   | 拒绝许可 |
| PERMISSION_GRANTED | 0    | 批准   |
qq_41863798's avatar
qq_41863798 已提交
1351