harmony 鸿蒙@ohos.bundle.distributedBundleManager (distributedBundleManager)

2023-02-03 浏览 (683)

@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

PermissionPermission LevelDescription
ohos.permission.GET_BUNDLE_INFO_PRIVILEGEDsystem_basicPermission 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

NameTypeMandatoryDescription
elementNameElementNameYesTarget element name.
callbackAsyncCallback<RemoteAbilityInfo>YesCallback 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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNameElementNameYesTarget element name.

Return value

TypeDescription
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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNamesArray<ElementName>YesElementName array, whose maximum length is 10.
callbackAsyncCallback<Array<RemoteAbilityInfo>>YesCallback 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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNamesArray<ElementName>YesElementName array, whose maximum length is 10.

Return value

TypeDescription
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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNameElementNameYesTarget element name.
localestringYesTarget locale.
callbackAsyncCallback<RemoteAbilityInfo>YesCallback 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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNameElementNameYesTarget element name.
localestringYesTarget locale.

Return value

TypeDescription
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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNamesArray<ElementName>YesElementName array, whose maximum length is 10.
localestringYesTarget locale.
callbackAsyncCallback<Array<RemoteAbilityInfo>>YesCallback 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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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

NameTypeMandatoryDescription
elementNamesArray<ElementName>YesElementName array, whose maximum length is 10.
localestringYesTarget locale.

Return value

TypeDescription
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.

IDError Message
17700001The specified bundle name is not found.
17700003The specified ability name is not found.
17700007The specified device ID is not found.
17700027The 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}`);
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

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