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

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

版本:v3.1 Beta

@ohos.bundle (Bundle模块)

更新时间: 2023-02-17 09:19


本模块提供应用信息查询能力,支持​​包信息​​​、​​应用信息​​​、​​Ability组件信息​​等信息的查询,以及应用禁用状态的查询、设置等。


说明

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

导入模块

import bundle from '@ohos.bundle';

权限列表

权限

权限等级

描述

ohos.permission.GET_BUNDLE_INFO

normal

查询指定应用信息。

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

system_basic

可查询所有应用信息。

ohos.permission.INSTALL_BUNDLE

system_core

可安装、卸载应用。

ohos.permission.MANAGE_DISPOSED_APP_STATUS

system_core

可设置和查询应用的处置状态。

权限等级参考​​权限等级说明​​。

bundle.getApplicationInfodeprecated

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

getApplicationInfo(bundleName: string, bundleFlags: number, userId?: number): Promise<ApplicationInfo>

以异步方法根据给定的包名获取ApplicationInfo。使用Promise异步回调。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

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

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围请参考​​BundleFlag说明​​中应用信息相关flag。

userId

number

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

返回值:

类型

说明

Promise<​​ApplicationInfo​​>

Promise形式返回应用程序信息。

示例:

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

bundle.getApplicationInfodeprecated

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

getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback<ApplicationInfo>): void

以异步方法根据给定的包名获取指定用户下的ApplicationInfo,使用callback形式返回结果。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

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

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中应用信息相关flag。

userId

number

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

callback

AsyncCallback<​​ApplicationInfo​​>

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

示例:

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

bundle.getApplicationInfodeprecated

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

getApplicationInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback<ApplicationInfo>): void

以异步方法根据给定的包名获取ApplicationInfo,使用callback形式返回结果。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

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

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中应用信息相关flag。

callback

AsyncCallback<​​ApplicationInfo​​>

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

示例:

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

bundle.getAllBundleInfodeprecated

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

getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise<Array<BundleInfo>>

以异步方法获取指定用户所有的BundleInfo,使用Promise形式异步回调,

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlag

BundleFlag

用于指定返回的包信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

userId

number

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

返回值:

类型

说明

Promise<Array<​​BundleInfo​​>>

Promise形式返回所有可用的BundleInfo

示例:

let bundleFlag = 0;
let userId = 100;
bundle.getAllBundleInfo(bundleFlag, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getAllBundleInfodeprecated

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

getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array<BundleInfo>>): void

以异步方法获取当前用户所有的BundleInfo,使用callback形式返回结果。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlag

BundleFlag

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

callback

AsyncCallback<Array<​​BundleInfo​​>>

程序启动作为入参的回调函数,返回所有可用的BundleInfo。

示例:

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

bundle.getAllBundleInfodeprecated

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

getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback<Array<BundleInfo>>): void

以异步方法获取系统中指定用户下所有的BundleInfo,使用callback形式返回结果。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlag

BundleFlag

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

userId

number

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

callback

AsyncCallback<Array<​​BundleInfo​​>>

程序启动作为入参的回调函数,返回指定用户下所有包的BundleInfo。

  

  

  

  

示例:

let bundleFlag = 0;
let userId = 100;
bundle.getAllBundleInfo(bundleFlag, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
 })

bundle.getBundleInfodeprecated

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

getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): Promise<BundleInfo>

以异步方法根据给定的包名获取BundleInfo,使用Promise异步回调。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

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

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

options

​BundleOptions​

包含userid的查询选项。

返回值:

类型

说明

Promise<​​BundleInfo​​>

Promise对象,获取成功时返回包信息。

示例:

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

bundle.getBundleInfodeprecated

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

getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>): void

以异步方法根据给定的包名获取BundleInfo,使用callback异步回调。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

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

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

callback

AsyncCallback<​​BundleInfo​​>

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

示例:

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

bundle.getBundleInfodeprecated

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

getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, callback: AsyncCallback<BundleInfo>): void

以异步方法根据给定的包名获取BundleInfo,使用callback异步回调。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

要查询的应用包名。

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

options

​BundleOptions​

包含userid。

callback

AsyncCallback<​​BundleInfo​​>

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

示例:

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

bundle.getAllApplicationInfodeprecated

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

getAllApplicationInfo(bundleFlags: number, userId?: number): Promise<Array<ApplicationInfo>>

获取指定用户下所有已安装的应用信息,使用promise异步回调。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中应用信息相关flag。

userId

number

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

返回值:

类型

说明

Promise<Array<​​ApplicationInfo​​>>

Promise对象,获取成功时返回应用信息列表。

示例:

let bundleFlags = 8;
let userId = 100;
bundle.getAllApplicationInfo(bundleFlags, userId)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getAllApplicationInfodeprecated

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

getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array<ApplicationInfo>>): void

获取指定用户下所有已安装的应用信息,使用callback异步回调。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中应用信息相关flag。

userId

number

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

callback

AsyncCallback<Array<​​ApplicationInfo​​>>

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

示例:

let bundleFlags = bundle.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION;
let userId = 100;
bundle.getAllApplicationInfo(bundleFlags, userId, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.getAllApplicationInfodeprecated

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

getAllApplicationInfo(bundleFlags: number, callback: AsyncCallback<Array<ApplicationInfo>>) : void;

获取调用方所在用户下已安装的应用信息,使用callback异步回调。

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleFlags

number

用于指定返回的应用信息对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中应用信息相关flag。

callback

AsyncCallback<Array<​​ApplicationInfo​​>>

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

示例:

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

bundle.getBundleArchiveInfodeprecated

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

getBundleArchiveInfo(hapFilePath: string, bundleFlags: number) : Promise<BundleInfo>

获取有关HAP包中包含的应用程序包的信息,使用Promise形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

hapFilePath

string

HAP存放路径。支持当前应用程序的绝对路径和数据目录沙箱路径。

bundleFlags

number

用于指定要返回的BundleInfo对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

返回值:

类型

说明

Promise<​​BundleInfo​​>

返回值为Promise对象,Promise中包含有关hap包中包含的应用程序的信息。

示例:

let hapFilePath = "/data/storage/el2/base/test.hap";
let bundleFlags = 0;
bundle.getBundleArchiveInfo(hapFilePath, bundleFlags)
.then((data) => {
    console.info('Operation successful. Data: ' + JSON.stringify(data));
}).catch((error) => {
    console.error('Operation failed. Cause: ' + JSON.stringify(error));
})

bundle.getBundleArchiveInfodeprecated

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

getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback<BundleInfo>) : void

以异步方法获取有关HAP包中包含的应用程序包的信息,使用callback形式返回结果。

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

hapFilePath

string

HAP存放路径,支持当前应用程序的绝对路径和数据目录沙箱路径。

bundleFlags

number

用于指定要返回的BundleInfo对象中包含信息的标记。取值范围:参考​​BundleFlag说明​​中包信息相关flag。

callback

AsyncCallback<​​BundleInfo​​>

程序启动作为入参的回调函数,返回HAP包中包含的应用程序包的信息。

示例:

let hapFilePath = "/data/storage/el2/base/test.hap";
let bundleFlags = 0;
bundle.getBundleArchiveInfo(hapFilePath, bundleFlags, (err, data) => {
    if (err) {
        console.error('Operation failed. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Operation successful. Data:' + JSON.stringify(data));
})

bundle.getAbilityInfodeprecated

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

getAbilityInfo(bundleName: string, abilityName: string): Promise<AbilityInfo>

通过包名称和组件名获取Ability组件信息,使用Promise形式异步回调。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

应用程序包名称。

abilityName

string

Ability组件名称。

返回值:

类型

说明

Promise<​​AbilityInfo​​>

Promise形式返回Ability信息。

示例:

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

bundle.getAbilityInfodeprecated

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

getAbilityInfo(bundleName: string, abilityName: string, callback: AsyncCallback<AbilityInfo>): void;

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

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

应用程序包名称。

abilityName

string

Ability名称。

callback

AsyncCallback<​​AbilityInfo​​>

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

示例:

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

bundle.getAbilityLabel8+ deprecated

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

getAbilityLabel(bundleName: string, abilityName: string): Promise<string>

通过包名称和ability名称获取应用名称,使用Promise形式返回结果。

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

需要权限:

ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 或 ohos.permission.GET_BUNDLE_INFO

系统能力:

SystemCapability.BundleManager.BundleFramework

参数:

参数名

类型

必填

说明

bundleName

string

应用程序包名称。

abilityName

string

Ability名称。

返回值:

类型

说明

Promise<string>

Promise形式返回应用名称信息。

示例:

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


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

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