@ohos.bundle.distributedBundleManager (distributedBundleManager)

The distributedBundle module provides APIs for managing distributed bundles.

NOTE

The initial APIs of this module are supported since API version 9. 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 distributedBundle from '@ohos.bundle.distributedBundleManager';

System Capabilities

SystemCapability.BundleManager.DistributedBundleFramework

Required Permissions

Permission Permission Level Description
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED system_basic Permission to obtain basic information and other sensitive information about a bundle.

For details, see Permission Levels.

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementName: ElementName, callback: AsyncCallback<RemoteAbilityInfo>): void

Obtains information about the remote ability that matches the given element name. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementName ElementName Yes Target element name.
callback AsyncCallback<RemoteAbilityInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the RemoteAbilityInfo object obtained. Otherwise, err is an error object and data is undefined.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        {
            deviceId: '1',
            bundleName: 'com.example.application',
            abilityName: 'EntryAbility'
        }, (err: BusinessError, data: distributedBundle.RemoteAbilityInfo) => {
          if (err) {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
          } else {
            console.info('Operation succeed:' + JSON.stringify(data));
          }
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementName: ElementName): Promise<RemoteAbilityInfo>

Obtains information about the remote ability that matches the given element name. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementName ElementName Yes Target element name.

Return value

Type Description
Promise<RemoteAbilityInfo> Promise used to return the result. If the operation is successful, the RemoteAbilityInfo object is returned. Otherwise, an error object is returned.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        {
            deviceId: '1',
            bundleName: 'com.example.application',
            abilityName: 'EntryAbility'
        }).then((data: distributedBundle.RemoteAbilityInfo) => {
            console.info('Operation succeed:' + JSON.stringify(data));
        }).catch((err: BusinessError) => {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementNames: Array<ElementName>, callback: AsyncCallback<Array<RemoteAbilityInfo>>): void

Obtains information about the remote abilities that match the given element names. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementNames Array<ElementName> Yes ElementName array, whose maximum length is 10.
callback AsyncCallback<Array<RemoteAbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of RemoteAbilityInfo objects obtained. Otherwise, err is an error object and data is undefined.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        [
            {
                deviceId: '1',
                bundleName: 'com.example.application1',
                abilityName: 'EntryAbility1'
            },
            {
                deviceId: '1',
                bundleName: 'com.example.application2',
                abilityName: 'EntryAbility'
            }
        ], (err: BusinessError, data: distributedBundle.RemoteAbilityInfo[]) => {
          if (err) {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
          } else {
            console.info('Operation succeed:' + JSON.stringify(data));
          }
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementNames: Array<ElementName>): Promise<Array<RemoteAbilityInfo>>

Obtains information about the remote abilities that match the given element names. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementNames Array<ElementName> Yes ElementName array, whose maximum length is 10.

Return value

Type Description
Promise<Array<RemoteAbilityInfo>> Promise used to return the result. If the operation is successful, an array of RemoteAbilityInfo objects is returned. Otherwise, an error object is returned.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        [
            {
                deviceId: '1',
                bundleName: 'com.example.application',
                abilityName: 'EntryAbility'
            },
            {
                deviceId: '1',
                bundleName: 'com.example.application2',
                abilityName: 'EntryAbility'
            }
        ]).then((data: distributedBundle.RemoteAbilityInfo[]) => {
            console.info('Operation succeed:' + JSON.stringify(data));
        }).catch((err: BusinessError) => {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementName: ElementName, locale: string, callback: AsyncCallback<RemoteAbilityInfo>): void

Obtains information about the remote ability that matches the given element name and locale. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementName ElementName Yes Target element name.
locale string Yes Target locale.
callback AsyncCallback<RemoteAbilityInfo> Yes Callback used to return the result. If the operation is successful, err is null and data is the RemoteAbilityInfo object obtained. Otherwise, err is an error object and data is undefined.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        {
            deviceId: '1',
            bundleName: 'com.example.application',
            abilityName: 'EntryAbility'
        }, 'zh-Hans-CN', (err: BusinessError, data: distributedBundle.RemoteAbilityInfo) => {
          if (err) {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
          } else {
            console.info('Operation succeed:' + JSON.stringify(data));
          }
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementName: ElementName, locale: string): Promise<RemoteAbilityInfo>

Obtains information about the remote ability that matches the given element name and locale. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementName ElementName Yes Target element name.
locale string Yes Target locale.

Return value

Type Description
Promise<RemoteAbilityInfo> Promise used to return the result. If the operation is successful, the RemoteAbilityInfo object is returned. Otherwise, an error object is returned.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        {
            deviceId: '1',
            bundleName: 'com.example.application',
            abilityName: 'EntryAbility'
        }, 'zh-Hans-CN').then((data: distributedBundle.RemoteAbilityInfo) => {
            console.info('Operation succeed:' + JSON.stringify(data));
        }).catch((err: BusinessError) => {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementNames: Array<ElementName>, locale: string, callback: AsyncCallback<Array<RemoteAbilityInfo>>): void

Obtains information about the remote abilities that match the given element names and locale. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementNames Array<ElementName> Yes ElementName array, whose maximum length is 10.
locale string Yes Target locale.
callback AsyncCallback<Array<RemoteAbilityInfo>> Yes Callback used to return the result. If the operation is successful, err is null and data is the array of RemoteAbilityInfo objects obtained. Otherwise, err is an error object and data is undefined.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        [
            {
                deviceId: '1',
                bundleName: 'com.example.application1',
                abilityName: 'EntryAbility1'
            },
            {
                deviceId: '1',
                bundleName: 'com.example.application2',
                abilityName: 'EntryAbility'
            }
        ], 'zh-Hans-CN', (err: BusinessError, data: distributedBundle.RemoteAbilityInfo[]) => {
          if (err) {
           console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
          } else {
            console.info('Operation succeed:' + JSON.stringify(data));
          }
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}

distributedBundle.getRemoteAbilityInfo

getRemoteAbilityInfo(elementNames: Array<ElementName>, locale: string): Promise<Array<RemoteAbilityInfo>>

Obtains information about the remote abilities that match the given element names and locale. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

System capability: SystemCapability.BundleManager.DistributedBundleFramework

Parameters

Name Type Mandatory Description
elementNames Array<ElementName> Yes ElementName array, whose maximum length is 10.
locale string Yes Target locale.

Return value

Type Description
Promise<Array<RemoteAbilityInfo>> Promise used to return the result. If the operation is successful, an array of RemoteAbilityInfo objects is returned. Otherwise, an error object is returned.

Error codes

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

ID Error Message
17700001 The specified bundle name is not found.
17700003 The specified ability name is not found.
17700007 The specified device ID is not found.
17700027 The distributed service is not running.

Example

import distributedBundle from '@ohos.bundle.distributedBundleManager';
import { BusinessError } from '@ohos.base';

try {
    distributedBundle.getRemoteAbilityInfo(
        [
            {
                deviceId: '1',
                bundleName: 'com.example.application',
                abilityName: 'EntryAbility'
            },
            {
                deviceId: '1',
                bundleName: 'com.example.application2',
                abilityName: 'EntryAbility'
            }
        ], 'zh-Hans-CN').then((data: distributedBundle.RemoteAbilityInfo[]) => {
            console.info('Operation succeed:' + JSON.stringify(data));
        }).catch((err: BusinessError) => {
            console.log(`Operation failed: error code is ${err.code}  and error message is ${err.message}`);
        });
} catch (err) {
    let code = (err as BusinessError).code;
    let message = (err as BusinessError).message;
    console.log(`Operation failed: error code is ${code}  and error message is ${message}`);
}