HarmonyOS API:@ohos.bundle (Bundle模块)

joytrian
发布于 2023-4-12 18:09
浏览
0收藏

版本:v3.1 Beta

@ohos.bundle (Bundle模块)

bundle.getAbilityLabel8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.getAbilityLabel​​替代。

getAbilityLabel(bundleName: string, abilityName: string, callback : AsyncCallback<string>): void

通过包名称和Ability组件名获取应用名称,使用callback形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

应用程序包名称。

abilityName

string

Ability名称。

callback

AsyncCallback<string>

程序启动作为入参的回调函数,返回应用名称信息。

示例:

let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityLabel(bundleName, abilityName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.isAbilityEnabled8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.isAbilityEnabled​​替代。

isAbilityEnabled(info: AbilityInfo): Promise<boolean>

以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用Promise形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

info

​AbilityInfo​

Ability的配置信息。

返回值:

类型

说明

Promise<boolean>

Promise形式返回boolean代表是否启用。

示例:

let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo)=>{
    bundle.isAbilityEnabled(abilityInfo).then((data) => {
        console.info('Operation successful. Data: ' + JSON.stringify(data));
    }).catch((error) => {
        console.error('Operation failed. Cause: ' + JSON.stringify(error));
    })
})

bundle.isAbilityEnabled8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.isAbilityEnabled​​替代。

isAbilityEnabled(info : AbilityInfo, callback : AsyncCallback<boolean>): void

以异步方法根据给定的AbilityInfo查询ability是否已经启用,使用callback形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

info

​AbilityInfo​

Ability的配置信息。

callback

AsyncCallback<boolean>

返回boolean代表是否启用。

示例:

let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityInfo(bundleName, abilityName).then((abilityInfo)=>{
    bundle.isAbilityEnabled(abilityInfo, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
    })
})

bundle.isApplicationEnabled8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.isApplicationEnabled​​替代。

isApplicationEnabled(bundleName: string): Promise<boolean>

以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用Promise形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用程序包名称。

返回值:

类型

说明

Promise<boolean>

Promise形式返回boolean代表是否启用。

示例:

let bundleName = "com.example.myapplication";
bundle.isApplicationEnabled(bundleName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.isApplicationEnabled8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.isApplicationEnabled​​替代。

isApplicationEnabled(bundleName: string, callback : AsyncCallback<boolean>): void

以异步方法根据给定的bundleName查询指定应用程序是否已经启用,使用callback形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用程序包名称。

callback

AsyncCallback<boolean>

返回boolean代表是否启用。

示例:

let bundleName = "com.example.myapplication";
bundle.isApplicationEnabled(bundleName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.queryAbilityByWantdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.queryAbilityInfo​​替代。

queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise<Array<AbilityInfo>>

以异步方法根据给定的意图获取Ability组件信息,使用Promise形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

want

​Want​

包含要查询的应用程序包名称的意图。

bundleFlags

number

用于指定返回abilityInfo信息。取值范围:参考​​BundleFlag说明​​中Ability信息相关flag。

userId

number

用户ID。默认值:调用方所在用户,取值范围:大于等于0。

返回值:

类型

说明

Promise<Array<​​AbilityInfo​​>>

Promise形式返回Ability信息。

示例:

let bundleFlags = 0;
let userId = 100;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.queryAbilityByWantdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.queryAbilityInfo​​替代。

queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback<Array<AbilityInfo>>): void

以异步方法根据给定的意图获取指定用户下Ability信息,使用callback形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

want

​Want​

指示包含要查询的应用程序包名称的意图。

bundleFlags

number

用于指定返回abilityInfo信息。取值范围:参考​​BundleFlag说明​​中Ability信息相关flag。

userId

number

用户ID。取值范围:大于等于0。

callback

AsyncCallback<Array<​​AbilityInfo​​>>

程序启动作为入参的回调函数,返回Ability信息。

示例:

let bundleFlags = 0;
let userId = 100;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.queryAbilityByWantdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.queryAbilityInfo​​替代。

queryAbilityByWant(want: Want, bundleFlags: number, callback: AsyncCallback<Array<AbilityInfo>>): void;

以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

want

​Want​

指示包含要查询的应用程序包名称的意图。

bundleFlags

number

用于指定返回abilityInfo信息。取值范围:参考​​BundleFlag说明​​中Ability信息相关flag。

callback

AsyncCallback<Array<​​AbilityInfo​​>>

程序启动作为入参的回调函数,返回Ability信息。

示例:

let bundleFlags = 0;
let want = {
    bundleName : "com.example.myapplication",
    abilityName : "com.example.myapplication.MainAbility"
};
bundle.queryAbilityByWant(want, bundleFlags, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.getLaunchWantForBundledeprecated

从API version 9开始不再维护,建议使用​​bundleManager.getLaunchWantForBundle​​替代。

getLaunchWantForBundle(bundleName: string): Promise<Want>

以异步方法查询拉起指定应用的want对象,使用Promise形式返回结果。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用程序包名称。

返回值:

类型

说明

Promise<​​Want​​>

返回值为Promise对象,Promise中包含拉起指定应用的Want对象。

示例:

let bundleName = "com.example.myapplication";
bundle.getLaunchWantForBundle(bundleName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getLaunchWantForBundledeprecated

从API version 9开始不再维护,建议使用​​bundleManager.getLaunchWantForBundle​​替代。

getLaunchWantForBundle(bundleName: string, callback: AsyncCallback<Want>): void;

以异步方法查询拉起指定应用的want对象,使用callback形式返回结果。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用程序包名称。

callback

AsyncCallback<​​Want​​>

程序启动作为入参的回调函数,返回拉起指定应用的want对象。

示例:

let bundleName = "com.example.myapplication";
bundle.getLaunchWantForBundle(bundleName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.getNameForUid8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.getBundleNameByUid​​替代。

getNameForUid(uid: number): Promise<string>

以异步方法通过uid获取对应的包名,使用Promise形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

uid

number

要查询的uid。

返回值:

类型

说明

Promise<string>

返回值为Promise对象,Promise中包含指定uid的包名称。

示例:

let uid = 20010005;
bundle.getNameForUid(uid)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getNameForUid8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.getBundleNameByUid​​替代。

getNameForUid(uid: number, callback: AsyncCallback<string>) : void

以异步方法通过uid获取对应的包名,使用callback形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

uid

number

要查询的uid。

callback

AsyncCallback<string>

程序启动作为入参的回调函数,返回指定uid的包名称。

示例:

let uid = 20010005;
bundle.getNameForUid(uid, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.getAbilityIcon8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.getAbilityIcon​​替代。

getAbilityIcon(bundleName: string, abilityName: string): Promise<image.PixelMap>;

以异步方法通过bundleName和abilityName获取对应Icon的​​PixelMap​​,使用Promise形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用包名。

abilityName

string

要查询的Ability组件名。

返回值:

类型

说明

Promise<image.PixelMap>

返回值为​​PixelMap​​。

示例:

let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityIcon(bundleName, abilityName)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getAbilityIcon8+ deprecated

从API version 9开始不再维护,建议使用​​bundleManager.getAbilityIcon​​替代。

getAbilityIcon(bundleName: string, abilityName: string, callback: AsyncCallback<image.PixelMap>): void;

以异步方法通过bundleName和abilityName获取对应Icon的​​PixelMap​​,使用callback形式返回结果。

获取调用方自己的信息时不需要权限。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用包名称。

abilityName

string

要查询的Ability组件名。

callback

AsyncCallback<image.PixelMap>

程序启动作为入参的回调函数,返回指定​​PixelMap​​。

示例:

let bundleName = "com.example.myapplication";
let abilityName = "com.example.myapplication.MainAbility";
bundle.getAbilityIcon(bundleName, abilityName, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

InstallErrorCodedeprecated

从API version 9开始不再维护,不推荐使用。

系统能力: SystemCapability.BundleManager.BundleFramework

名称

说明

SUCCESS

0

安装成功

STATUS_INSTALL_FAILURE

1

安装失败(不存在安装的应用)

STATUS_INSTALL_FAILURE_ABORTED

2

安装中止

STATUS_INSTALL_FAILURE_INVALID

3

安装参数无效

STATUS_INSTALL_FAILURE_CONFLICT

4

安装冲突 (常见于升级和已有应用基本信息不一致)

STATUS_INSTALL_FAILURE_STORAGE

5

存储包信息失败

STATUS_INSTALL_FAILURE_INCOMPATIBLE

6

安装不兼容(常见于版本降级安装或者签名信息错误)

STATUS_UNINSTALL_FAILURE

7

卸载失败 (不存在卸载的应用)

STATUS_UNINSTALL_FAILURE_BLOCKED

8

卸载中止 (没有使用)

STATUS_UNINSTALL_FAILURE_ABORTED

9

卸载中止 (参数无效导致)

STATUS_UNINSTALL_FAILURE_CONFLICT

10

卸载冲突 (卸载系统应用失败, 结束应用进程失败)

STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT

0x0B

安装失败 (下载超时)

STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED

0x0C

安装失败 (下载失败)

STATUS_RECOVER_FAILURE_INVALID8+

0x0D

恢复预置应用失败

STATUS_ABILITY_NOT_FOUND

0x40

Ability未找到

STATUS_BMS_SERVICE_ERROR

0x41

BMS服务错误

STATUS_FAILED_NO_SPACE_LEFT8+

0x42

设备空间不足

STATUS_GRANT_REQUEST_PERMISSIONS_FAILED8+

0x43

应用授权失败

STATUS_INSTALL_PERMISSION_DENIED8+

0x44

缺少安装权限

STATUS_UNINSTALL_PERMISSION_DENIED8+

0x45

缺少卸载权限

BundleFlagdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.BundleFlag​​替代。

包信息标志,指示需要获取的包信息的内容。

当接口与标志不匹配时,该标志会被忽略,例如获取application时使用GET_ABILITY_INFO_WITH_PERMISSION对结果不会产生影响。

标志可以叠加使用,例如使用GET_APPLICATION_INFO_WITH_PERMISSION + GET_APPLICATION_INFO_WITH_DISABLE可以使结果同时包含应用权限信息和被禁用的应用信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

GET_BUNDLE_DEFAULT

0x00000000

获取默认的应用信息

GET_BUNDLE_WITH_ABILITIES

0x00000001

获取包括Ability信息的包信息

GET_ABILITY_INFO_WITH_PERMISSION

0x00000002

获取包括权限的Ability信息

GET_ABILITY_INFO_WITH_APPLICATION

0x00000004

获取包括Application的ability信息

GET_APPLICATION_INFO_WITH_PERMISSION

0x00000008

获取包括权限的应用信息

GET_BUNDLE_WITH_REQUESTED_PERMISSION

0x00000010

获取包括所需权限的包信息

GET_ABILITY_INFO_WITH_METADATA8+

0x00000020

获取ability的元数据信息

GET_APPLICATION_INFO_WITH_METADATA8+

0x00000040

获取应用的元数据信息

GET_ABILITY_INFO_SYSTEMAPP_ONLY8+

0x00000080

获取仅包括系统应用的ability信息

GET_ABILITY_INFO_WITH_DISABLE8+

0x00000100

获取包括被禁用的ability信息

GET_APPLICATION_INFO_WITH_DISABLE8+

0x00000200

获取包括被禁用的应用信息

GET_ALL_APPLICATION_INFO

0xFFFF0000

获取应用所有的信息

BundleOptionsdeprecated

从API version 9开始不再维护,不推荐使用。

查询选项,包含userId。

系统能力: SystemCapability.BundleManager.BundleFramework

名称

类型

可读

可写

说明

userId

number

用户ID。默认值:调用方所在用户,取值范围:大于等于0。

AbilityTypedeprecated

从API version 9开始不再维护,建议使用​​bundleManager.AbilityType​​替代。

Ability组件类型。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

UNKNOWN

未知Ability类型

PAGE

表示基于Page模板开发的FA,用于提供与用户交互的能力

SERVICE

表示基于Service模板开发的PA,用于提供后台运行任务的能力

DATA

表示基于Data模板开发的PA,用于对外部提供统一的数据访问对象

DisplayOrientationdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.DisplayOrientation​​替代。

屏幕显示方向。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

UNSPECIFIED

屏幕方向--不指定

LANDSCAPE

屏幕方向--横屏

PORTRAIT

屏幕方向--竖屏

FOLLOW_RECENT

屏幕方向--紧跟上一个组件

LaunchModedeprecated

从API version 9开始不再维护,建议使用​​bundleManager.LaunchType​​替代。

Ability组件的启动模式。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

SINGLETON

0

Ability只有一个实例

STANDARD

1

Ability有多个实例

AbilitySubTypedeprecated

从API version 9开始不再维护,不推荐使用。

Ability组件的子类型。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

UNSPECIFIED

0

未定义Ability子类型

CA

1

Ability子类型是带有 UI 的服务

ColorModedeprecated

从API version 9开始不再维护,不推荐使用。

应用、卡片等的颜色模式。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

AUTO_MODE

-1

自动模式

DARK_MODE

0

黑色模式

LIGHT_MODE

1

亮度模式

GrantStatusdeprecated

从API version 9开始不再维护,建议使用​​bundleManager.PermissionGrantState​​替代。

权限授予状态。

系统能力: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework

名称

说明

PERMISSION_DENIED

-1

拒绝授予权限

PERMISSION_GRANTED

0

授予权限


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-bundle-0000001477981489-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001477981489__grantstatusdeprecated​


已于2023-4-12 18:09:09修改
收藏
回复
举报
回复
    相关推荐