1e41f4b71Sopenharmony_ci# @ohos.bundle (Bundle模块)(系统接口)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块提供应用信息查询能力,支持[包信息](js-apis-bundle-BundleInfo.md)、[应用信息](js-apis-bundle-ApplicationInfo.md)、[Ability组件信息](js-apis-bundle-AbilityInfo.md)等信息的查询,以及应用禁用状态的查询、设置等。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 从API Version 9开始,该模块不再维护,系统接口建议使用[`@ohos.bundle.bundleManager`](js-apis-bundleManager-sys.md)替代。
10e41f4b71Sopenharmony_ci>
11e41f4b71Sopenharmony_ci> 当前页面仅包含本模块的系统接口,其他公开接口参见[`@ohos.bundle`](js-apis-Bundle.md)。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## 导入模块
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```ts
16e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
17e41f4b71Sopenharmony_ci```
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## 权限列表
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci| 权限                                         | 权限等级         | 描述            |
22e41f4b71Sopenharmony_ci|--------------------------------------------|--------------|---------------|
23e41f4b71Sopenharmony_ci| ohos.permission.CHANGE_ABILITY_ENABLED_STATE | system_basic | 设置禁用使能所需的权限。 |
24e41f4b71Sopenharmony_ci| ohos.permission.GET_BUNDLE_INFO | normal | 查询指定应用信息。 |
25e41f4b71Sopenharmony_ci| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息。     |
26e41f4b71Sopenharmony_ci| ohos.permission.INSTALL_BUNDLE             | system_core  | 可安装、卸载应用。      |
27e41f4b71Sopenharmony_ci| ohos.permission.REMOVE_CACHE_FILES | system_basic | 清理应用缓存。 |
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci权限等级参考[权限APL等级说明](../../security/AccessToken/app-permission-mgmt-overview.md#权限机制中的基本概念)。
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci## bundle.getBundleInstaller<sup>deprecated<sup>
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[installer.getBundleInstaller](js-apis-installer-sys.md#bundleinstallergetbundleinstaller)替代。
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_cigetBundleInstaller(): Promise&lt;BundleInstaller&gt;
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci获取用于安装包的接口,使用Promise异步回调,返回安装接口对象。
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci**需要权限:**
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ciohos.permission.INSTALL_BUNDLE
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci**系统能力:**
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci**系统接口:**
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci此接口为系统接口。
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci**返回值:**
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci| 类型                                                         | 说明                                         |
54e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | -------------------------------------------- |
55e41f4b71Sopenharmony_ci| Promise<[BundleInstaller](js-apis-bundle-BundleInstaller-sys.md)> | Promise对象,返回安装接口对象。 |
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci**示例:**
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci```ts
60e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
61e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_cibundle.getBundleInstaller().then((data) => {
64e41f4b71Sopenharmony_ci  console.info('getBundleInstaller successfully.');
65e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
66e41f4b71Sopenharmony_ci  console.error('getBundleInstaller failed.');
67e41f4b71Sopenharmony_ci});
68e41f4b71Sopenharmony_ci```
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci## bundle.getBundleInstaller<sup>deprecated<sup>
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[installer.getBundleInstaller](js-apis-installer-sys.md#bundleinstallergetbundleinstaller)替代。
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_cigetBundleInstaller(callback: AsyncCallback&lt;BundleInstaller&gt;): void
75e41f4b71Sopenharmony_ci
76e41f4b71Sopenharmony_ci获取用于安装包的接口,使用callback异步回调。
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci**需要权限:**
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ciohos.permission.INSTALL_BUNDLE
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci**系统能力:**
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**系统接口:**
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci此接口为系统接口。
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**参数:**
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci| 参数名   | 类型                                                         | 必填 | 说明             |
93e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | ---- | ---------------- |
94e41f4b71Sopenharmony_ci| callback | AsyncCallback<[BundleInstaller](js-apis-bundle-BundleInstaller-sys.md)> | 是   | 回调函数,返回安装接口对象。 |
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**示例:**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci```ts
99e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_cibundle.getBundleInstaller((err, data) => {
102e41f4b71Sopenharmony_ci  if (err.code == 0) {
103e41f4b71Sopenharmony_ci    console.error('getBundleInstaller failed.');
104e41f4b71Sopenharmony_ci  } else {
105e41f4b71Sopenharmony_ci    console.info('getBundleInstaller successfully');
106e41f4b71Sopenharmony_ci  }
107e41f4b71Sopenharmony_ci});
108e41f4b71Sopenharmony_ci```
109e41f4b71Sopenharmony_ci## bundle.cleanBundleCacheFiles<sup>8+</sup> <sup>deprecated<sup>
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.cleanBundleCacheFiles](js-apis-bundleManager-sys.md#bundlemanagercleanbundlecachefiles)替代。
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_cicleanBundleCacheFiles(bundleName: string, callback: AsyncCallback&lt;void&gt;): void
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci清除指定应用程序的缓存数据,使用callback异步回调。
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci**需要权限:**
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ciohos.permission.REMOVE_CACHE_FILES
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci**系统能力:**
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**系统接口:**
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci此接口为系统接口。
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci**参数:**
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci| 参数名      | 类型                | 必填 | 说明                                  |
132e41f4b71Sopenharmony_ci| ---------- | ------------------- | ---- | ------------------------------------- |
133e41f4b71Sopenharmony_ci| bundleName | string              | 是   | 指示要清除其缓存数据的应用Bundle名称。 |
134e41f4b71Sopenharmony_ci| callback   | AsyncCallback\<void> | 是   | 回调函数。          |
135e41f4b71Sopenharmony_ci
136e41f4b71Sopenharmony_ci**示例:**
137e41f4b71Sopenharmony_ci
138e41f4b71Sopenharmony_ci```ts
139e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_cilet bundleName: string = "com.example.myapplication";
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_cibundle.cleanBundleCacheFiles(bundleName, err => {
144e41f4b71Sopenharmony_ci  if (err) {
145e41f4b71Sopenharmony_ci    console.error('cleanBundleCacheFiles failed.');
146e41f4b71Sopenharmony_ci  } else {
147e41f4b71Sopenharmony_ci    console.info('cleanBundleCacheFiles successfully.');
148e41f4b71Sopenharmony_ci  }
149e41f4b71Sopenharmony_ci});
150e41f4b71Sopenharmony_ci```
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ci## bundle.cleanBundleCacheFiles<sup>8+</sup> <sup>deprecated<sup>
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.cleanBundleCacheFiles](js-apis-bundleManager-sys.md#bundlemanagercleanbundlecachefiles)替代。
155e41f4b71Sopenharmony_ci
156e41f4b71Sopenharmony_cicleanBundleCacheFiles(bundleName: string): Promise&lt;void&gt;
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci清除指定应用程序的缓存数据,使用Promise异步回调。
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_ci**需要权限:**
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ciohos.permission.REMOVE_CACHE_FILES
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci**系统能力:**
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci**系统接口:**
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci此接口为系统接口。
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci**参数:**
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                                  |
175e41f4b71Sopenharmony_ci| ---------- | ------ | ---- | ------------------------------------- |
176e41f4b71Sopenharmony_ci| bundleName | string | 是   | 指示要清除其缓存数据的应用Bundle名称。 |
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci**返回值:**
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci| 类型          | 说明                                 |
181e41f4b71Sopenharmony_ci| ------------- | ------------------------------------ |
182e41f4b71Sopenharmony_ci| Promise\<void> | Promise对象,无返回结果的Promise对象。 |
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_ci**示例:**
185e41f4b71Sopenharmony_ci
186e41f4b71Sopenharmony_ci```ts
187e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
188e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_cilet bundleName: string = "com.example.myapplication";
191e41f4b71Sopenharmony_ci
192e41f4b71Sopenharmony_cibundle.cleanBundleCacheFiles(bundleName).then(() => {
193e41f4b71Sopenharmony_ci  console.info('cleanBundleCacheFiles successfully.');
194e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
195e41f4b71Sopenharmony_ci  console.error('cleanBundleCacheFiles failed.');
196e41f4b71Sopenharmony_ci});
197e41f4b71Sopenharmony_ci```
198e41f4b71Sopenharmony_ci
199e41f4b71Sopenharmony_ci## bundle.setApplicationEnabled<sup>8+</sup> <sup>deprecated<sup>
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.setApplicationEnabled](js-apis-bundleManager-sys.md#bundlemanagersetapplicationenabled)替代。
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_cisetApplicationEnabled(bundleName: string, isEnable: boolean, callback: AsyncCallback&lt;void&gt;): void
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ci设置是否启用指定的应用程序,使用callback异步回调。
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci**需要权限:**
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ciohos.permission.CHANGE_ABILITY_ENABLED_STATE
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci**系统能力:**
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci**系统接口:**
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci此接口为系统接口。
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci**参数:**
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_ci| 参数名      | 类型                | 必填 | 说明                             |
222e41f4b71Sopenharmony_ci| ---------- | ------------------- | ---- |--------------------------------|
223e41f4b71Sopenharmony_ci| bundleName | string              | 是   | 指示需要启用或禁用的应用Bundle名称。          |
224e41f4b71Sopenharmony_ci| isEnable   | boolean             | 是   | 指定是否启用应用程序。true表示启用,false表示禁用。 |
225e41f4b71Sopenharmony_ci| callback   | AsyncCallback\<void> | 是   | 回调函数。                          |
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci**示例:**
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci```ts
230e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_cilet bundleName: string = "com.example.myapplication";
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_cibundle.setApplicationEnabled(bundleName, false, err => {
235e41f4b71Sopenharmony_ci  if (err) {
236e41f4b71Sopenharmony_ci    console.error('setApplicationEnabled failed.');
237e41f4b71Sopenharmony_ci  } else {
238e41f4b71Sopenharmony_ci    console.info('setApplicationEnabled successfully.');
239e41f4b71Sopenharmony_ci  }
240e41f4b71Sopenharmony_ci});
241e41f4b71Sopenharmony_ci```
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ci## bundle.setApplicationEnabled<sup>8+</sup> <sup>deprecated<sup>
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.setApplicationEnabled](js-apis-bundleManager-sys.md#bundlemanagersetapplicationenabled)替代。
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_cisetApplicationEnabled(bundleName: string, isEnable: boolean): Promise&lt;void&gt;
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci设置是否启用指定的应用程序,使用Promise异步回调。
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci**需要权限:**
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ciohos.permission.CHANGE_ABILITY_ENABLED_STATE
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci**系统能力:**
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
258e41f4b71Sopenharmony_ci
259e41f4b71Sopenharmony_ci**系统接口:**
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci此接口为系统接口。
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_ci**参数:**
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci| 参数名     | 类型    | 必填 | 说明                                            |
266e41f4b71Sopenharmony_ci| ---------- | ------- | ---- | ----------------------------------------------- |
267e41f4b71Sopenharmony_ci| bundleName | string  | 是   | 指示需要启用或禁用的应用Bundle名称。            |
268e41f4b71Sopenharmony_ci| isEnable   | boolean | 是   | 指定是否启用应用程序。true表示启用,false禁用。 |
269e41f4b71Sopenharmony_ci
270e41f4b71Sopenharmony_ci**返回值:**
271e41f4b71Sopenharmony_ci
272e41f4b71Sopenharmony_ci| 类型          | 说明                                 |
273e41f4b71Sopenharmony_ci| ------------- | ------------------------------------ |
274e41f4b71Sopenharmony_ci| Promise\<void> | Promise对象,无返回结果的Promise对象。 |
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_ci**示例:**
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ci```ts
279e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
280e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_cilet bundleName: string = "com.example.myapplication";
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_cibundle.setApplicationEnabled(bundleName, false).then(() => {
285e41f4b71Sopenharmony_ci  console.info('setApplicationEnabled successfully.');
286e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
287e41f4b71Sopenharmony_ci  console.error('setApplicationEnabled failed.');
288e41f4b71Sopenharmony_ci});
289e41f4b71Sopenharmony_ci```
290e41f4b71Sopenharmony_ci
291e41f4b71Sopenharmony_ci## bundle.setAbilityEnabled<sup>8+</sup> <sup>deprecated<sup>
292e41f4b71Sopenharmony_ci
293e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.setAbilityEnabled](js-apis-bundleManager-sys.md#bundlemanagersetabilityenabled)替代。
294e41f4b71Sopenharmony_ci
295e41f4b71Sopenharmony_cisetAbilityEnabled(info: AbilityInfo, isEnable: boolean, callback: AsyncCallback&lt;void&gt;): void
296e41f4b71Sopenharmony_ci
297e41f4b71Sopenharmony_ci设置是否启用指定的Ability组件,使用callback异步回调。
298e41f4b71Sopenharmony_ci
299e41f4b71Sopenharmony_ci**需要权限:**
300e41f4b71Sopenharmony_ci
301e41f4b71Sopenharmony_ciohos.permission.CHANGE_ABILITY_ENABLED_STATE
302e41f4b71Sopenharmony_ci
303e41f4b71Sopenharmony_ci**系统能力:**
304e41f4b71Sopenharmony_ci
305e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
306e41f4b71Sopenharmony_ci
307e41f4b71Sopenharmony_ci**系统接口:**
308e41f4b71Sopenharmony_ci
309e41f4b71Sopenharmony_ci此接口为系统接口。
310e41f4b71Sopenharmony_ci
311e41f4b71Sopenharmony_ci**参数:**
312e41f4b71Sopenharmony_ci
313e41f4b71Sopenharmony_ci| 参数名   | 类型                                         | 必填 | 说明                                            |
314e41f4b71Sopenharmony_ci| -------- | -------------------------------------------- | ---- | ----------------------------------------------- |
315e41f4b71Sopenharmony_ci| info     | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | 是   | Ability信息,指示需要设置启用状态的Ability。                                   |
316e41f4b71Sopenharmony_ci| isEnable | boolean                                      | 是   | 指定是否启用应用程序。true表示启用,false禁用。 |
317e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void>                         | 是   | 为返回操作结果而调用的回调。                    |
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci## bundle.setAbilityEnabled<sup>8+</sup> <sup>deprecated<sup>
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.setAbilityEnabled](js-apis-bundleManager-sys.md#bundlemanagersetabilityenabled)替代。
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_cisetAbilityEnabled(info: AbilityInfo, isEnable: boolean): Promise&lt;void&gt;
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci设置是否启用指定的Ability组件,使用Promise异步回调。
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci**需要权限:**
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ciohos.permission.CHANGE_ABILITY_ENABLED_STATE
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci**系统能力:**
332e41f4b71Sopenharmony_ci
333e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci**系统接口:**
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci此接口为系统接口。
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci**参数:**
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ci| 参数名   | 类型                                         | 必填 | 说明                                            |
342e41f4b71Sopenharmony_ci| -------- | -------------------------------------------- | ---- | ----------------------------------------------- |
343e41f4b71Sopenharmony_ci| info     | [AbilityInfo](js-apis-bundle-AbilityInfo.md) | 是   | Ability信息,指示需要设置启用状态的Ability。                                   |
344e41f4b71Sopenharmony_ci| isEnable | boolean                                      | 是   | 指定是否启用应用程序。true表示启用,false禁用。 |
345e41f4b71Sopenharmony_ci
346e41f4b71Sopenharmony_ci**返回值:**
347e41f4b71Sopenharmony_ci
348e41f4b71Sopenharmony_ci| 类型          | 说明                                 |
349e41f4b71Sopenharmony_ci| ------------- | ------------------------------------ |
350e41f4b71Sopenharmony_ci| Promise\<void> | Promise对象,无返回结果的Promise对象。 |
351e41f4b71Sopenharmony_ci
352e41f4b71Sopenharmony_ci**示例:**
353e41f4b71Sopenharmony_ci
354e41f4b71Sopenharmony_ci```ts
355e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
356e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
357e41f4b71Sopenharmony_ci
358e41f4b71Sopenharmony_cilet bundleName: string = "com.example.myapplication";
359e41f4b71Sopenharmony_cilet abilityName: string = "EntryAbility";
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_cibundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo) => {
362e41f4b71Sopenharmony_ci  console.info('getAbilityInfo successfully. Data: ' + JSON.stringify(abilityInfo));
363e41f4b71Sopenharmony_ci
364e41f4b71Sopenharmony_ci  bundle.setAbilityEnabled(abilityInfo, false).then(data => {
365e41f4b71Sopenharmony_ci    console.info('setAbilityEnabled successfully.');
366e41f4b71Sopenharmony_ci  }).catch((error: BusinessError) => {
367e41f4b71Sopenharmony_ci    console.error('setAbilityEnabled failed:' + JSON.stringify(error));
368e41f4b71Sopenharmony_ci  })
369e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
370e41f4b71Sopenharmony_ci  console.error('getAbilityInfo failed. Cause: ' + JSON.stringify(error));
371e41f4b71Sopenharmony_ci});
372e41f4b71Sopenharmony_ci```
373e41f4b71Sopenharmony_ci## bundle.getPermissionDef<sup>8+</sup> <sup>deprecated<sup>
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.getPermissionDef](js-apis-bundleManager-sys.md#bundlemanagergetpermissiondef)替代。
376e41f4b71Sopenharmony_ci
377e41f4b71Sopenharmony_cigetPermissionDef(permissionName: string, callback: AsyncCallback&lt;PermissionDef&gt;): void
378e41f4b71Sopenharmony_ci
379e41f4b71Sopenharmony_ci按权限名称获取权限的详细信息,使用callback异步回调。
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci**需要权限:**
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ciohos.permission.GET_BUNDLE_INFO_PRIVILEGED
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ci**系统能力:**
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ci**系统接口:**
390e41f4b71Sopenharmony_ci
391e41f4b71Sopenharmony_ci此接口为系统接口。
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci**参数:**
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci| 参数名         | 类型                                                         | 必填 | 说明                                             |
396e41f4b71Sopenharmony_ci| -------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------ |
397e41f4b71Sopenharmony_ci| permissionName | string                                                       | 是   | 需要查询的权限的名称。                                 |
398e41f4b71Sopenharmony_ci| callback       | AsyncCallback<[PermissionDef](js-apis-bundle-PermissionDef-sys.md)> | 是   | 程序启动作为入参的回调函数,返回定义的权限信息。 |
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci**示例:**
401e41f4b71Sopenharmony_ci
402e41f4b71Sopenharmony_ci```ts
403e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
404e41f4b71Sopenharmony_ci
405e41f4b71Sopenharmony_cilet permission: string = "ohos.permission.GET_BUNDLE_INFO";
406e41f4b71Sopenharmony_cibundle.getPermissionDef(permission, (err, data) => {
407e41f4b71Sopenharmony_ci  if (err) {
408e41f4b71Sopenharmony_ci    console.error('getPermissionDef failed:' + err.message);
409e41f4b71Sopenharmony_ci  } else {
410e41f4b71Sopenharmony_ci    console.info('getPermissionDef successfully:' + JSON.stringify(data));
411e41f4b71Sopenharmony_ci  }
412e41f4b71Sopenharmony_ci});
413e41f4b71Sopenharmony_ci```
414e41f4b71Sopenharmony_ci
415e41f4b71Sopenharmony_ci## bundle.getPermissionDef<sup>8+</sup> <sup>deprecated<sup>
416e41f4b71Sopenharmony_ci
417e41f4b71Sopenharmony_ci> 从API version 9开始不再维护,建议使用[bundleManager.getPermissionDef](js-apis-bundleManager-sys.md#bundlemanagergetpermissiondef)替代。
418e41f4b71Sopenharmony_ci
419e41f4b71Sopenharmony_cigetPermissionDef(permissionName: string): Promise&lt;PermissionDef&gt;
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci按权限名称获取权限的详细信息,使用promise异步回调。。
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_ci**需要权限:**
424e41f4b71Sopenharmony_ci
425e41f4b71Sopenharmony_ciohos.permission.GET_BUNDLE_INFO_PRIVILEGED
426e41f4b71Sopenharmony_ci
427e41f4b71Sopenharmony_ci**系统能力:**
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ciSystemCapability.BundleManager.BundleFramework
430e41f4b71Sopenharmony_ci
431e41f4b71Sopenharmony_ci**系统接口:**
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci此接口为系统接口。
434e41f4b71Sopenharmony_ci
435e41f4b71Sopenharmony_ci**参数:**
436e41f4b71Sopenharmony_ci
437e41f4b71Sopenharmony_ci| 参数名         | 类型   | 必填 | 说明             |
438e41f4b71Sopenharmony_ci| -------------- | ------ | ---- | ---------------- |
439e41f4b71Sopenharmony_ci| permissionName | string | 是   | 需要查询的权限的名称。 |
440e41f4b71Sopenharmony_ci
441e41f4b71Sopenharmony_ci**返回值:**
442e41f4b71Sopenharmony_ci
443e41f4b71Sopenharmony_ci| 类型                                                   | 说明                                                   |
444e41f4b71Sopenharmony_ci| ------------------------------------------------------ | ------------------------------------------------------ |
445e41f4b71Sopenharmony_ci| Promise<[PermissionDef](js-apis-bundle-PermissionDef-sys.md)> | Promise对象,获取成功时返回权限详细信息。 |
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_ci**示例:**
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci```ts
450e41f4b71Sopenharmony_ciimport bundle from '@ohos.bundle';
451e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
452e41f4b71Sopenharmony_ci
453e41f4b71Sopenharmony_cilet permissionName: string = "ohos.permission.GET_BUNDLE_INFO";
454e41f4b71Sopenharmony_cibundle.getPermissionDef(permissionName).then((data) => {
455e41f4b71Sopenharmony_ci  console.info('getPermissionDef successfully. Data: ' + JSON.stringify(data));
456e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
457e41f4b71Sopenharmony_ci  console.error('getPermissionDef failed. Cause: ' + error.message);
458e41f4b71Sopenharmony_ci});
459e41f4b71Sopenharmony_ci```