1e41f4b71Sopenharmony_ci# @ohos.bundle.bundleResourceManager (bundleResourceManager模块)(系统接口)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块提供应用资源数据查询能力,支持[BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)和[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)等信息的查询。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 11 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 本模块从API version 12 开始支持查询被禁用应用和设备上已安装应用(不区用户)的图标和名称资源。
10e41f4b71Sopenharmony_ci>
11e41f4b71Sopenharmony_ci> 本模块为系统接口。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## 导入模块
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```ts
16e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
17e41f4b71Sopenharmony_ci```
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## 权限列表
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci| 权限                                       | 权限等级     | 描述            |
22e41f4b71Sopenharmony_ci| ------------------------------------------ | ------------ | ------------------|
23e41f4b71Sopenharmony_ci| ohos.permission.GET_BUNDLE_RESOURCES| system_basic | 允许查询应用的资源信息。 |
24e41f4b71Sopenharmony_ci| ohos.permission.GET_INSTALLED_BUNDLE_LIST | system_basic | 读取已安装应用列表。 |
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci权限等级参考[权限APL等级说明](../../security/AccessToken/app-permission-mgmt-overview.md#权限机制中的基本概念)。
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## 枚举
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci### ResourceFlag
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci资源信息标志,指示需要获取的资源信息的内容。
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Resource37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci| 名称                                      | 值         | 说明                                                         |
39e41f4b71Sopenharmony_ci| ----------------------------------------- | ---------- | ------------------------------------------------------------ |
40e41f4b71Sopenharmony_ci| GET_RESOURCE_INFO_ALL                   | 0x00000001 | 用于同时获取icon和label信息。|
41e41f4b71Sopenharmony_ci| GET_RESOURCE_INFO_WITH_LABEL          | 0x00000002 | 用于获取仅包含label信息,iocn信息为空。 |
42e41f4b71Sopenharmony_ci| GET_RESOURCE_INFO_WITH_ICON           | 0x00000004 | 用于获取仅包含icon信息,label信息为空。 |
43e41f4b71Sopenharmony_ci| GET_RESOURCE_INFO_WITH_SORTED_BY_LABEL| 0x00000008 | 用于获取根据label排序后的信息。它不能单独使用需要与GET_RESOURCE_INFO_ALL 或 GET_RESOURCE_INFO_WITH_LABEL一起使用。 |
44e41f4b71Sopenharmony_ci| GET_RESOURCE_INFO_WITH_DRAWABLE_DESCRIPTOR<sup>12+</sup>| 0x00000010 | 用于获取应用图标的[drawableDescriptor](../apis-arkui/js-apis-arkui-drawableDescriptor-sys.md)对象。 |
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci## 接口
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci### bundleResourceManager.getBundleResourceInfo
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_cigetBundleResourceInfo(bundleName: string, resourceFlags?: [number](#resourceflag)): [BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci以同步方法根据给定的bundleName和resourceFlags获取当前应用的BundleResourceInfo。
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_BUNDLE_RESOURCES
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci**参数:**
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
64e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
65e41f4b71Sopenharmony_ci| bundleName | string | 是   | 指定查询应用的包名。 |
66e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 否   | 指定返回的BundleResourceInfo所包含的信息。 |
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci**返回值:**
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci| 类型                                                        | 说明                                  |
71e41f4b71Sopenharmony_ci| ----------------------------------------------------------- | ------------------------------------- |
72e41f4b71Sopenharmony_ci| [BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md) | 返回指定应用的BundleResourceInfo。|
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**错误码:**
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
80e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
81e41f4b71Sopenharmony_ci| 201 | Permission denied. |
82e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
83e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
84e41f4b71Sopenharmony_ci| 17700001 | The specified bundleName is not found. |
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**示例:**
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci```ts
90e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
91e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
92e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
93e41f4b71Sopenharmony_cilet bundleName = "com.example.myapplication";
94e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
95e41f4b71Sopenharmony_citry {
96e41f4b71Sopenharmony_ci    let resourceInfo = bundleResourceManager.getBundleResourceInfo(bundleName, bundleFlags);
97e41f4b71Sopenharmony_ci    hilog.info(0x0000, 'testTag', 'getBundleResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo.label));
98e41f4b71Sopenharmony_ci} catch (err) {
99e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
100e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getBundleResourceInfo failed: %{public}s', message);
101e41f4b71Sopenharmony_ci}
102e41f4b71Sopenharmony_ci```
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci### bundleResourceManager.getLauncherAbilityResourceInfo
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_cigetLauncherAbilityResourceInfo(bundleName: string, resourceFlags?: [number](#resourceflag)): Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci以同步方法根据给定的bundleName和resourceFlags获取当前应用的LauncherAbilityResourceInfo。
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_BUNDLE_RESOURCES
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci**参数:**
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
119e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
120e41f4b71Sopenharmony_ci| bundleName | string | 是   | 指定查询应用的包名。 |
121e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 否   | 指定返回的LauncherAbilityResourceInfo所包含的信息。 |
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci**返回值:**
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci| 类型                                                        | 说明                                  |
126e41f4b71Sopenharmony_ci| ----------------------------------------------------------- | ------------------------------------- |
127e41f4b71Sopenharmony_ci| Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)> | 返回指定应用的LauncherAbilityResourceInfo。|
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci**错误码:**
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
134e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
135e41f4b71Sopenharmony_ci| 201 | Permission denied. |
136e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
137e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
138e41f4b71Sopenharmony_ci| 17700001 | The specified bundleName is not found. |
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci**示例:**
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_ci```ts
144e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
145e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
146e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
147e41f4b71Sopenharmony_cilet bundleName = "com.example.myapplication";
148e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
149e41f4b71Sopenharmony_citry {
150e41f4b71Sopenharmony_ci    let resourceInfo = bundleResourceManager.getLauncherAbilityResourceInfo(bundleName, bundleFlags);
151e41f4b71Sopenharmony_ci    hilog.info(0x0000, 'testTag', 'getLauncherAbilityResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo[0].label));
152e41f4b71Sopenharmony_ci} catch (err) {
153e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
154e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getLauncherAbilityResourceInfo failed: %{public}s', message);
155e41f4b71Sopenharmony_ci}
156e41f4b71Sopenharmony_ci```
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci### bundleResourceManager.getAllBundleResourceInfo
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_cigetAllBundleResourceInfo(resourceFlags: [number](#resourceflag), callback: AsyncCallback<Array<[BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)>>): void
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci以异步方法根据给定的resourceFlags获取所有应用的BundleResourceInfo。使用callback异步回调。
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_INSTALLED_BUNDLE_LISTohos.permission.GET_BUNDLE_RESOURCES
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci**参数:**
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
173e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
174e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 是   | 指定返回的BundleResourceInfo所包含的信息。 |
175e41f4b71Sopenharmony_ci| callback | AsyncCallback\<Array<[BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的BundleResourceInfo数值;否则为错误对象。 |
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci**错误码:**
178e41f4b71Sopenharmony_ci
179e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
180e41f4b71Sopenharmony_ci
181e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
182e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
183e41f4b71Sopenharmony_ci| 201 | Permission denied. |
184e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
185e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci**示例:**
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci```ts
190e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
191e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
192e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
193e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
194e41f4b71Sopenharmony_citry {
195e41f4b71Sopenharmony_ci    bundleResourceManager.getAllBundleResourceInfo(bundleFlags, (err, data) => {
196e41f4b71Sopenharmony_ci        if (err) {
197e41f4b71Sopenharmony_ci            hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo failed. err: %{public}s', err.message);
198e41f4b71Sopenharmony_ci            return;
199e41f4b71Sopenharmony_ci        }
200e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
201e41f4b71Sopenharmony_ci    });
202e41f4b71Sopenharmony_ci} catch (err) {
203e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
204e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed: %{public}s', message);
205e41f4b71Sopenharmony_ci}
206e41f4b71Sopenharmony_ci```
207e41f4b71Sopenharmony_ci
208e41f4b71Sopenharmony_ci### bundleResourceManager.getAllBundleResourceInfo
209e41f4b71Sopenharmony_ci
210e41f4b71Sopenharmony_cigetAllBundleResourceInfo(resourceFlags: [number](#resourceflag)): Promise<Array<[BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)>>;
211e41f4b71Sopenharmony_ci
212e41f4b71Sopenharmony_ci以异步方法根据给定的resourceFlags获取所有应用的BundleResourceInfo。使用Promise异步回调。
213e41f4b71Sopenharmony_ci
214e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
215e41f4b71Sopenharmony_ci
216e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_INSTALLED_BUNDLE_LISTohos.permission.GET_BUNDLE_RESOURCES
217e41f4b71Sopenharmony_ci
218e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
219e41f4b71Sopenharmony_ci
220e41f4b71Sopenharmony_ci**参数:**
221e41f4b71Sopenharmony_ci
222e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
223e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
224e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 是   | 指定返回的BundleResourceInfo所包含的信息。 |
225e41f4b71Sopenharmony_ci
226e41f4b71Sopenharmony_ci**返回值:**
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci| 类型                                                         | 说明                             |
229e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | -------------------------------- |
230e41f4b71Sopenharmony_ci| Promise\<Array<[BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)>> | Promise对象,返回BundleResourceInfo数值。 |
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci**错误码:**
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
235e41f4b71Sopenharmony_ci
236e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
237e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
238e41f4b71Sopenharmony_ci| 201 | Permission denied. |
239e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
240e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci**示例:**
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_ci```ts
245e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
246e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
247e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
248e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
249e41f4b71Sopenharmony_citry {
250e41f4b71Sopenharmony_ci    bundleResourceManager.getAllBundleResourceInfo(bundleFlags).then(data=> {
251e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
252e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
253e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo failed. err: %{public}s', err.message);
254e41f4b71Sopenharmony_ci    })
255e41f4b71Sopenharmony_ci} catch (err) {
256e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
257e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed: %{public}s', message);
258e41f4b71Sopenharmony_ci}
259e41f4b71Sopenharmony_ci```
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci### bundleResourceManager.getAllLauncherAbilityResourceInfo
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_cigetAllLauncherAbilityResourceInfo(resourceFlags: [number](#resourceflag), callback: AsyncCallback<Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>>): void
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci以异步方法根据给定的resourceFlags获取当前所有应用的LauncherAbilityResourceInfo。使用callback异步回调。
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_INSTALLED_BUNDLE_LISTohos.permission.GET_BUNDLE_RESOURCES
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci**参数:**
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
276e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
277e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 是   | 指定返回的LauncherAbilityResourceInfo所包含的信息。 |
278e41f4b71Sopenharmony_ci| callback | AsyncCallback\<Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>> | 是 | 回调函数,当获取成功时,err为null,data为获取到的LauncherAbilityResourceInfo数值;否则为错误对象。 |
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci**错误码:**
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
285e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
286e41f4b71Sopenharmony_ci| 201 | Permission denied. |
287e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
288e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci**示例:**
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci```ts
293e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
294e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
295e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
296e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
297e41f4b71Sopenharmony_citry {
298e41f4b71Sopenharmony_ci    bundleResourceManager.getAllLauncherAbilityResourceInfo(bundleFlags, (err, data) => {
299e41f4b71Sopenharmony_ci        if (err) {
300e41f4b71Sopenharmony_ci            hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed. err: %{public}s', err.message);
301e41f4b71Sopenharmony_ci            return;
302e41f4b71Sopenharmony_ci        }
303e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
304e41f4b71Sopenharmony_ci    });
305e41f4b71Sopenharmony_ci} catch (err) {
306e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
307e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed: %{public}s', message);
308e41f4b71Sopenharmony_ci}
309e41f4b71Sopenharmony_ci```
310e41f4b71Sopenharmony_ci
311e41f4b71Sopenharmony_ci### bundleResourceManager.getAllLauncherAbilityResourceInfo
312e41f4b71Sopenharmony_ci
313e41f4b71Sopenharmony_cigetAllLauncherAbilityResourceInfo(resourceFlags: [number](#resourceflag)) : Promise<Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>>
314e41f4b71Sopenharmony_ci
315e41f4b71Sopenharmony_ci以异步方法根据给定的resourceFlags获取当前所有应用的LauncherAbilityResourceInfo。使用Promise异步回调。
316e41f4b71Sopenharmony_ci
317e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_INSTALLED_BUNDLE_LISTohos.permission.GET_BUNDLE_RESOURCES
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci**参数:**
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
326e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
327e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 是   | 指定返回的LauncherAbilityResourceInfo所包含的信息。 |
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci**返回值:**
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci| 类型                                                         | 说明                             |
332e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | -------------------------------- |
333e41f4b71Sopenharmony_ci| Promise\<Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>> | Promise对象,返回LauncherAbilityResourceInfo数值。 |
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci**错误码:**
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
338e41f4b71Sopenharmony_ci
339e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
340e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
341e41f4b71Sopenharmony_ci| 201 | Permission denied. |
342e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
343e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci**示例:**
346e41f4b71Sopenharmony_ci```ts
347e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
348e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
349e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
350e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
351e41f4b71Sopenharmony_citry {
352e41f4b71Sopenharmony_ci    bundleResourceManager.getAllLauncherAbilityResourceInfo(bundleFlags).then(data=> {
353e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
354e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
355e41f4b71Sopenharmony_ci        hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed. err: %{public}s', err.message);
356e41f4b71Sopenharmony_ci    })
357e41f4b71Sopenharmony_ci} catch (err) {
358e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
359e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed: %{public}s', message);
360e41f4b71Sopenharmony_ci}
361e41f4b71Sopenharmony_ci```
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci### bundleResourceManager.getBundleResourceInfo<sup>12+</sup>
364e41f4b71Sopenharmony_ci
365e41f4b71Sopenharmony_cigetBundleResourceInfo(bundleName: string, resourceFlags?: [number](#resourceflag), appIndex?: number): [BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md)
366e41f4b71Sopenharmony_ci
367e41f4b71Sopenharmony_ci以同步方法根据给定的bundleName、resourceFlags和appIndex获取当前应用的BundleResourceInfo。
368e41f4b71Sopenharmony_ci
369e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
370e41f4b71Sopenharmony_ci
371e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_BUNDLE_RESOURCES
372e41f4b71Sopenharmony_ci
373e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci**参数:**
376e41f4b71Sopenharmony_ci
377e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
378e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
379e41f4b71Sopenharmony_ci| bundleName | string | 是   | 指定查询应用的包名。 |
380e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 否   | 指定返回的BundleResourceInfo所包含的信息。 |
381e41f4b71Sopenharmony_ci| appIndex | number | 否   | 指定查询应用分身的ID。 |
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci**返回值:**
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ci| 类型                                                        | 说明                                  |
386e41f4b71Sopenharmony_ci| ----------------------------------------------------------- | ------------------------------------- |
387e41f4b71Sopenharmony_ci| [BundleResourceInfo](js-apis-bundleManager-BundleResourceInfo-sys.md) | 返回指定应用的BundleResourceInfo。|
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ci
390e41f4b71Sopenharmony_ci**错误码:**
391e41f4b71Sopenharmony_ci
392e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。
393e41f4b71Sopenharmony_ci
394e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
395e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
396e41f4b71Sopenharmony_ci| 201 | Permission denied. |
397e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
398e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
399e41f4b71Sopenharmony_ci| 17700001 | The specified bundleName is not found. |
400e41f4b71Sopenharmony_ci| 17700061 | AppIndex not in valid range or not found. |
401e41f4b71Sopenharmony_ci
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci**示例:**
404e41f4b71Sopenharmony_ci
405e41f4b71Sopenharmony_ci```ts
406e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
407e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
408e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
409e41f4b71Sopenharmony_cilet bundleName = "com.example.myapplication";
410e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
411e41f4b71Sopenharmony_cilet appIndex = 1;
412e41f4b71Sopenharmony_citry {
413e41f4b71Sopenharmony_ci    let resourceInfo = bundleResourceManager.getBundleResourceInfo(bundleName, bundleFlags, appIndex);
414e41f4b71Sopenharmony_ci    hilog.info(0x0000, 'testTag', 'getBundleResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo.label));
415e41f4b71Sopenharmony_ci} catch (err) {
416e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
417e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getBundleResourceInfo failed: %{public}s', message);
418e41f4b71Sopenharmony_ci}
419e41f4b71Sopenharmony_ci```
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci### bundleResourceManager.getLauncherAbilityResourceInfo<sup>12+</sup>
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_cigetLauncherAbilityResourceInfo(bundleName: string, resourceFlags?: [number](#resourceflag), appIndex?: number): Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)>
424e41f4b71Sopenharmony_ci
425e41f4b71Sopenharmony_ci以同步方法根据给定的bundleName、resourceFlags和appIndex获取当前应用的LauncherAbilityResourceInfo。
426e41f4b71Sopenharmony_ci
427e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_BUNDLE_RESOURCES
430e41f4b71Sopenharmony_ci
431e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.BundleManager.BundleFramework.Resource
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci**参数:**
434e41f4b71Sopenharmony_ci
435e41f4b71Sopenharmony_ci| 参数名     | 类型   | 必填 | 说明                |
436e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | --------------------- |
437e41f4b71Sopenharmony_ci| bundleName | string | 是   | 指定查询应用的包名。 |
438e41f4b71Sopenharmony_ci| resourceFlags | [number](#resourceflag) | 否   | 指定返回的LauncherAbilityResourceInfo所包含的信息。 |
439e41f4b71Sopenharmony_ci| appIndex | number | 否   | 指定查询应用分身的ID。 |
440e41f4b71Sopenharmony_ci
441e41f4b71Sopenharmony_ci**返回值:**
442e41f4b71Sopenharmony_ci
443e41f4b71Sopenharmony_ci| 类型                                                        | 说明                                  |
444e41f4b71Sopenharmony_ci| ----------------------------------------------------------- | ------------------------------------- |
445e41f4b71Sopenharmony_ci| Array<[LauncherAbilityResourceInfo](js-apis-bundleManager-LauncherAbilityResourceInfo-sys.md)> | 返回指定应用的LauncherAbilityResourceInfo。|
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_ci**错误码:**
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.bundle错误码](errorcode-bundle.md)。
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                              |
452e41f4b71Sopenharmony_ci| -------- | ------------------------------------- |
453e41f4b71Sopenharmony_ci| 201 | Permission denied. |
454e41f4b71Sopenharmony_ci| 202 | Permission denied, non-system app called system api. |
455e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.|
456e41f4b71Sopenharmony_ci| 17700001 | The specified bundleName is not found. |
457e41f4b71Sopenharmony_ci| 17700061 | AppIndex not in valid range or not found. |
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci**示例:**
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci```ts
462e41f4b71Sopenharmony_ciimport bundleResourceManager from '@ohos.bundle.bundleResourceManager';
463e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
464e41f4b71Sopenharmony_ciimport hilog from '@ohos.hilog';
465e41f4b71Sopenharmony_cilet bundleName = "com.example.myapplication";
466e41f4b71Sopenharmony_cilet bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
467e41f4b71Sopenharmony_cilet appIndex = 1;
468e41f4b71Sopenharmony_citry {
469e41f4b71Sopenharmony_ci    let resourceInfo = bundleResourceManager.getLauncherAbilityResourceInfo(bundleName, bundleFlags, appIndex);
470e41f4b71Sopenharmony_ci    hilog.info(0x0000, 'testTag', 'getLauncherAbilityResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo[0].label));
471e41f4b71Sopenharmony_ci} catch (err) {
472e41f4b71Sopenharmony_ci    let message = (err as BusinessError).message;
473e41f4b71Sopenharmony_ci    hilog.error(0x0000, 'testTag', 'getLauncherAbilityResourceInfo failed: %{public}s', message);
474e41f4b71Sopenharmony_ci}
475e41f4b71Sopenharmony_ci```