@ohos.app.businessAbilityRouter (业务路由模块)(系统接口)

本模块用于查询当前设备上安装的应用程序的路由Ability信息。系统通过业务路由提供标准化的业务模板和管理能力,允许开发者依据特定业务类别注册标准业务,构建一个庞大且丰富的业务超市。系统应用可以便捷地从业务路由中选取合适的业务进行使用。同时业务路由还提供统一的跳转管控规则,确保应用与业务之间合理跳转,防止非法前后台跳转,杜绝三方应用通过跳转变相分发,从而保障系统的安全性与良好的用户体验。

说明:

本模块首批接口从API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口为系统接口。

导入模块

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

权限列表

权限 权限等级 描述
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED system_basic 可查询所有应用信息。

权限等级参考权限APL等级说明

BusinessType

此枚举值用于标识过滤条件类型。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统接口:此接口为系统接口。

名称 说明
SHARE 0 标识具有共享类型的Ability信息。
UNSPECIFIED 255 标识未指定类型的Ability信息。

BusinessAbilityFilter

此过滤值用于过滤查询的Ability类型。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统接口:此接口为系统接口。

名称 类型 只读 可选 说明
businessType BusinessType 标识Ability信息的类型。
mimeType string 标识支持mime类型的Ability信息。
uri string 标识Ability信息支持的uri。

businessAbilityRouter.queryBusinessAbilityInfo

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

通过给定的过滤条件查询Ability信息。使用callback异步回调,成功时返回查询到的路由Ability信息,失败时返回错误信息。

需要权限:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统接口:此接口为系统接口。

参数:

参数名 类型 必填 说明
filter BusinessAbilityFilter 用于按业务类型过滤的对象。
callback AsyncCallback<Array<BusinessAbilityInfo>> 回调函数。返回查询到的Ability信息,否则为错误对象。

错误码

以下错误码详细介绍请参考通用错误码

错误码ID 错误信息
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.

示例:

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>>;

通过给定的过滤条件查询Ability信息。使用Promise异步回调,成功时返回查询到的路由Ability信息,失败时返回错误信息。

需要权限:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统接口:此接口为系统接口。

参数:

参数名 类型 必填 说明
filter BusinessAbilityFilter 包含要查询的Ability信息的筛选类型。

返回值:

类型 说明
Promise<Array<BusinessAbilityInfo>> Promise对象,返回符合过滤条件的Ability信息。

错误码

以下错误码详细介绍请参考通用错误码

错误码ID 错误信息
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.

示例:

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);
}