HarmonyOS API:@ohos.bundle (Bundle模块)
版本: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 | 是 | 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 | 是 | 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 | 授予权限 |