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.Resource。 37e41f4b71Sopenharmony_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_LIST 和 ohos.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_LIST 和 ohos.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_LIST 和 ohos.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_LIST 和 ohos.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```