55a280c3创建于 2025年12月12日历史提交

@ohos.app.businessAbilityRouter (Service Routing Module) (System API)

The module provides APIs for you to query the information about routable ability components within applications installed on the device. It offers a standardized framework for managing and accessing service capabilities. It allows you to register your application's functionalities as standardized services under specific categories, effectively creating a rich ecosystem or marketplace of capabilities. System applications can leverage this router to easily discover and integrate these predefined ability components. Furthermore, the router enforces unified control over navigation between applications and services. This ensures proper redirection, prevents unauthorized jumps between foreground/background states, and blocks attempts by third-party application to use redirection for unintended distribution, ultimately enhancing system security and user experience.

NOTE

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

The APIs provided by this module are system APIs.

Modules to Import

import { businessAbilityRouter } from '@kit.AbilityKit';

Required Permissions

Permission APL Description
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED system_basic Permission to query information about all bundles.

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

BusinessType

Enumerates the types of ability components.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API.

Name Value Description
SHARE 0 Ability of the share type.
UNSPECIFIED 255 Ability of an unspecified type.

BusinessAbilityFilter

Describes the criteria for filtering ability components.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API.

Name Type Read-only Optional Description
businessType BusinessType No No Type of the ability.
mimeType string No Yes MIME type supported by the ability.
uri string No Yes URI supported by the ability.

businessAbilityRouter.queryBusinessAbilityInfo

queryBusinessAbilityInfo(filter: BusinessAbilityFilter, callback: AsyncCallback<Array<BusinessAbilityInfo>>): void;

Obtains the ability information based on the specified filter criteria. This API uses an asynchronous callback to return the result. If the operation is successful, the ability information is returned; otherwise, an error object is returned.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API.

Parameters

Name Type Mandatory Description
filter BusinessAbilityFilter Yes Object used to filter the ability information.
callback AsyncCallback<Array<BusinessAbilityInfo>> Yes Callback used to return the result. If the operation is successful, the ability information that meets the filter criteria is returned; otherwise, an error object is returned.

Error codes

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

ID Error Message
201 Permission denied.
202 Not System App. Interface caller is not a system app.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. 3. Parameter verification failed.

Example

import { businessAbilityRouter } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let filter: businessAbilityRouter.BusinessAbilityFilter = { businessType: businessAbilityRouter.BusinessType.SHARE };

try {
  businessAbilityRouter.queryBusinessAbilityInfo(filter, (error, data) => {
    if (error) {
      console.error('queryBusinessAbilityInfo failed ' + error.message);
      return;
    }
    console.info('queryBusinessAbilityInfo success');
  });
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('queryBusinessAbilityInfo failed ' + message);
}

businessAbilityRouter.queryBusinessAbilityInfo

queryBusinessAbilityInfo(filter: BusinessAbilityFilter): Promise<Array<BusinessAbilityInfo>>;

Obtains the ability information based on the specified filter criteria. This API uses a promise to return the result. If the operation is successful, the ability information is returned; otherwise, an error object is returned.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API.

Parameters

Name Type Mandatory Description
filter BusinessAbilityFilter Yes Object used to filter the ability information.

Return value

Type Description
Promise<Array<BusinessAbilityInfo>> Promise used to return the ability information that meets the filter criteria.

Error codes

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

ID Error Message
201 Permission denied.
202 Not System App. Interface caller is not a system app.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. 3. Parameter verification failed.

Example

import { businessAbilityRouter } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let filter: businessAbilityRouter.BusinessAbilityFilter = { businessType: businessAbilityRouter.BusinessType.SHARE };

try {
  businessAbilityRouter.queryBusinessAbilityInfo(filter)
    .then(() => {
      console.info('queryBusinessAbilityInfo success');
    }).catch((error: BusinessError) => {
    console.error('queryBusinessAbilityInfo failed ' + error.message);
  });
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('queryBusinessAbilityInfo failed ' + message);
}