openharmony 鸿蒙 js-apis-bundleResourceManager-sys

2025-06-12 浏览 (1)

@ohos.bundle.bundleResourceManager (bundleResourceManager) (System API)

The bundleResourceManager module provides APIs for obtaining resource information, including BundleResourceInfo and LauncherAbilityResourceInfo.

NOTE

The initial APIs of this module are supported since API version 11. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Since API version 12, this module supports query of icons and names of disabled applications and applications installed by all users.

The APIs provided by this module are system APIs.

Modules to Import

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

Required Permissions

PermissionAPLDescription
ohos.permission.GET_BUNDLE_RESOURCESsystem_basicAllows an application to obtain resource information of another application.
ohos.permission.GET_INSTALLED_BUNDLE_LISTsystem_basicAllows an application to read the list of installed applications.

For details about the APL, see Basic Concepts in the Permission Mechanism.

Enums

ResourceFlag

Enumerates the resource information flags, which indicate the type of resource information to obtain.

System API: This is a system API.

System capability: SystemCapability.BundleManager.BundleFramework.Resource

NameValueDescription
GET_RESOURCE_INFO_ALL0x00000001Both the application icon and label are obtained.
GET_RESOURCE_INFO_WITH_LABEL0x00000002Only the application label is obtained.
GET_RESOURCE_INFO_WITH_ICON0x00000004Only the application icon is obtained.
GET_RESOURCE_INFO_WITH_SORTED_BY_LABEL0x00000008The obtained information is sorted by label. It must be used together with GET_RESOURCE_INFO_ALL or GET_RESOURCE_INFO_WITH_LABEL.
GET_RESOURCE_INFO_WITH_DRAWABLE_DESCRIPTOR12+0x00000010The drawableDescriptor object of the application icon is obtained.

APIs

bundleResourceManager.getBundleResourceInfo

getBundleResourceInfo(bundleName: string, resourceFlags?: number): BundleResourceInfo

Obtains the resource information of an application based on the given bundle name and resource flags. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
bundleNamestringYesBundle name of the application.
resourceFlagsnumberNoType of the resource information to obtain.

Return value

TypeDescription
BundleResourceInfoResource information of the application obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001The specified bundleName is not found.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleName = "com.example.myapplication";
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    let resourceInfo = bundleResourceManager.getBundleResourceInfo(bundleName, bundleFlags);
    hilog.info(0x0000, 'testTag', 'getBundleResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo.label));
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getBundleResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getLauncherAbilityResourceInfo

getLauncherAbilityResourceInfo(bundleName: string, resourceFlags?: number): Array<LauncherAbilityResourceInfo>

Obtains the bundle information of the entry ability of an application based on the given bundle name and resource flags. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
bundleNamestringYesBundle name of the application.
resourceFlagsnumberNoType of the resource information to obtain. The default value is ResourceFlag.GET_RESOURCE_INFO_ALL.

Return value

TypeDescription
Array<LauncherAbilityResourceInfo>Resource information of the entry ability obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001The specified bundleName is not found.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleName = "com.example.myapplication";
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    let resourceInfo = bundleResourceManager.getLauncherAbilityResourceInfo(bundleName, bundleFlags);
    hilog.info(0x0000, 'testTag', 'getLauncherAbilityResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo[0].label));
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getLauncherAbilityResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getAllBundleResourceInfo

getAllBundleResourceInfo(resourceFlags: number, callback: AsyncCallback<Array<BundleResourceInfo>>): void

Obtains the bundle resource information of all applications based on the given resource flags. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST and ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
resourceFlagsnumberYesType of the resource information to obtain.
callbackAsyncCallback<Array<BundleResourceInfo>>YesCallback used to return the result. If the operation is successful, err is null and data is the resource information of the application obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    bundleResourceManager.getAllBundleResourceInfo(bundleFlags, (err, data) => {
        if (err) {
            hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed. err: %{public}s', err.message);
            return;
        }
        hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
    });
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getAllBundleResourceInfo

getAllBundleResourceInfo(resourceFlags: number): Promise<Array<BundleResourceInfo>>;

Obtains the bundle resource information of all applications based on the given resource flags. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST and ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
resourceFlagsnumberYesType of the resource information to obtain.

Return value

TypeDescription
Promise<Array<BundleResourceInfo>>Promise used to return the resource information of the application obtained.

Error codes

For details about the error codes, see Universal Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    bundleResourceManager.getAllBundleResourceInfo(bundleFlags).then(data=> {
        hilog.info(0x0000, 'testTag', 'getAllBundleResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
    }).catch((err: BusinessError) => {
        hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed. err: %{public}s', err.message);
    })
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getAllBundleResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getAllLauncherAbilityResourceInfo

getAllLauncherAbilityResourceInfo(resourceFlags: number, callback: AsyncCallback<Array<LauncherAbilityResourceInfo>>): void

Obtains the resource information of the entry abilities of the current application based on the given resource flags. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST and ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
resourceFlagsnumberYesType of the resource information to obtain.
callbackAsyncCallback<Array<LauncherAbilityResourceInfo>>YesCallback used to return the result. If the operation is successful, err is null and data is the resource information of the entry abilities obtained. Otherwise, err is an error object.

Error codes

For details about the error codes, see Universal Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    bundleResourceManager.getAllLauncherAbilityResourceInfo(bundleFlags, (err, data) => {
        if (err) {
            hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed. err: %{public}s', err.message);
            return;
        }
        hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
    });
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getAllLauncherAbilityResourceInfo

getAllLauncherAbilityResourceInfo(resourceFlags: number) : Promise<Array<LauncherAbilityResourceInfo>>

Obtains the resource information of the entry abilities of the current application based on the given resource flags. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_INSTALLED_BUNDLE_LIST and ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
resourceFlagsnumberYesType of the resource information to obtain.

Return value

TypeDescription
Promise<Array<LauncherAbilityResourceInfo>>Promise used to return the resource information of the entry abilities obtained.

Error codes

For details about the error codes, see Universal Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    bundleResourceManager.getAllLauncherAbilityResourceInfo(bundleFlags).then(data=> {
        hilog.info(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo successfully. Data length: %{public}s', JSON.stringify(data.length));
    }).catch((err: BusinessError) => {
        hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed. err: %{public}s', err.message);
    })
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getAllLauncherAbilityResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getBundleResourceInfo12+

getBundleResourceInfo(bundleName: string, resourceFlags?: number, appIndex?: number): BundleResourceInfo

Obtains the resource information of an application based on the given bundle name, resource flags, and app index. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
bundleNamestringYesBundle name of the application.
resourceFlagsnumberNoType of the resource information to obtain.
appIndexnumberNoIndex of the application clone. The default value is 0.

Return value

TypeDescription
BundleResourceInfoResource information of the application obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001The specified bundleName is not found.
17700061AppIndex not in valid range or not found.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleName = "com.example.myapplication";
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
let appIndex = 1;
try {
    let resourceInfo = bundleResourceManager.getBundleResourceInfo(bundleName, bundleFlags, appIndex);
    hilog.info(0x0000, 'testTag', 'getBundleResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo.label));
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getBundleResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getLauncherAbilityResourceInfo12+

getLauncherAbilityResourceInfo(bundleName: string, resourceFlags?: number, appIndex?: number): Array<LauncherAbilityResourceInfo>

Obtains the launcher ability resource information of an application based on the given bundle name, resource flags, and app index. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
bundleNamestringYesBundle name of the application.
resourceFlagsnumberNoType of the resource information to obtain. The default value is ResourceFlag.GET_RESOURCE_INFO_ALL.
appIndexnumberNoIndex of the application clone. The default value is 0.

Return value

TypeDescription
Array<LauncherAbilityResourceInfo>Resource information of the entry ability obtained.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
17700001The specified bundleName is not found.
17700061AppIndex not in valid range or not found.

Example

import bundleResourceManager from '@ohos.bundle.bundleResourceManager';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
let bundleName = "com.example.myapplication";
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
let appIndex = 1;
try {
    let resourceInfo = bundleResourceManager.getLauncherAbilityResourceInfo(bundleName, bundleFlags, appIndex);
    hilog.info(0x0000, 'testTag', 'getLauncherAbilityResourceInfo successfully. Data label: %{public}s', JSON.stringify(resourceInfo[0].label));
} catch (err) {
    let message = (err as BusinessError).message;
    hilog.error(0x0000, 'testTag', 'getLauncherAbilityResourceInfo failed: %{public}s', message);
}

bundleResourceManager.getExtensionAbilityResourceInfo20+

getExtensionAbilityResourceInfo(bundleName: string, extensionAbilityType: bundleManager.ExtensionAbilityType, resourceFlags: number, appIndex?: number): Array<LauncherAbilityResourceInfo>

Obtains the ExtensionAbility resource information of an application based on the bundle name, ExtensionAbility type, resource flags, and clone ID. This API returns the result synchronously.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_RESOURCES

System capability: SystemCapability.BundleManager.BundleFramework.Resource

Parameters

NameTypeMandatoryDescription
bundleNamestringYesBundle name of the application.
extensionAbilityTypebundleManager.ExtensionAbilityTypeYesExtensionAbility type. Only ExtensionAbilityType.INPUTMETHOD, ExtensionAbilityType.SHARE and ExtensionAbilityType.ACTION are supported.
resourceFlagsnumberYesResource information flags, which indicate the type of resource information to obtain.
appIndexnumberNoID of the application clone. The default value is 0. The value ranges from 0 to 5. The value 0 indicates the main application.

Return value

TypeDescription
Array<LauncherAbilityResourceInfo>Entry icon and name of the application.

Error codes

For details about the error codes, see Universal Error Codes and Bundle Error Codes.

IDError Message
201Permission denied.
202Permission denied, non-system app called system api.
17700001The specified bundleName is not found.
17700061AppIndex not in valid range or not found.

Example

import { bundleManager, bundleResourceManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let bundleName = "com.example.myapplication";
let extensionAbilityType = bundleManager.ExtensionAbilityType.INPUT_METHOD;
let bundleFlags = bundleResourceManager.ResourceFlag.GET_RESOURCE_INFO_ALL;
try {
    let resourceInfo = bundleResourceManager.getExtensionAbilityResourceInfo(bundleName, extensionAbilityType, bundleFlags);
    console.info('getExtensionAbilityResourceInfo successfully. Data label: ' + JSON.stringify(resourceInfo[0].label));
} catch (err) {
    let message = (err as BusinessError).message;
    let code = (err as BusinessError).code;
    console.error(`getExtensionAbilityResourceInfo failed, err code:${code}, err msg: ${message}`);
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Ability Kit

harmony 鸿蒙AbilityAccessControl

harmony 鸿蒙AbilityBase

harmony 鸿蒙AbilityBase_Element

harmony 鸿蒙AbilityRuntime

harmony 鸿蒙bundle

harmony 鸿蒙OH_NativeBundle_ApplicationInfo

harmony 鸿蒙OH_NativeBundle_ElementName

harmony 鸿蒙ability_access_control.h

harmony 鸿蒙ability_base_common.h

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/LZlG0o