HarmonyOS API:包管理
版本:v3.1 Beta
@ohos.bundle.defaultAppManager (默认应用管理)
更新时间: 2023-02-17 09:19
本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。
说明
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
权限列表
权限 | 权限等级 | 描述 |
ohos.permission.GET_DEFAULT_APPLICATION | system_core | 默认应用相关权限。 |
权限等级参考权限等级说明
defaultAppMgr.ApplicationType
默认应用的应用类型。
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
名称 | 值 | 说明 |
BROWSER | "Web Browser" | 默认浏览器。 |
IMAGE | "Image Gallery" | 默认图片查看器。 |
AUDIO | "Audio Player" | 默认音频播放器。 |
VIDEO | "Video Player" | 默认视频播放器。 |
"PDF Viewer" | 默认PDF文档查看器。 | |
WORD | "Word Viewer" | 默认WORD文档查看器。 |
EXCEL | "Excel Viewer" | 默认EXCEL文档查看器。 |
PPT | "PPT Viewer" | 默认PPT文档查看器。 |
defaultAppMgr.isDefaultApplication
isDefaultApplication(type: string): Promise<boolean>
以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用Promise形式返回结果。
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
参数:
参数名 | 类型 | 必填 | 说明 |
type | string | 是 | 要查询的应用类型,取ApplicationType中的值。 |
返回值:
类型 | 说明 |
Promise<boolean> | Promise形式返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
示例:
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
.then((data) => {
console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
}).catch((error) => {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
defaultAppMgr.isDefaultApplication
isDefaultApplication(type: string, callback: AsyncCallback<boolean>): void
以异步方法根据系统已定义的应用类型判断当前应用是否是该应用类型的默认应用,使用callback形式返回结果。
系统能力: SystemCapability.BundleManager.BundleFramework.DefaultApp
参数:
参数名 | 类型 | 必填 | 说明 |
type | string | 是 | 要查询的应用类型,取ApplicationType中的值。 |
callback | AsyncCallback<boolean> | 是 | 程序启动作为入参的回调函数,返回当前应用是否是默认应用,true表示是默认应用,false表示不是默认应用。 |
示例:
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
}
console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
});
@ohos.zlib (Zip模块)
更新时间: 2023-02-17 09:19
本模块提供压缩解压缩文件的能力
说明
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import zlib from '@ohos.zlib';
zlib.zipFile
zipFile(inFile: string, outFile: string, options: Options): Promise<void>
压缩接口(Promise形式)。
系统能力: SystemCapability.BundleManager.Zlib
参数:
参数名 | 类型 | 必填 | 说明 |
inFile | string | 是 | |
outFile | string | 是 | 指定压缩结果的文件路径(文件的扩展名zip)。 |
options | 是 | 压缩的可选参数。 |
返回值:
类型 | 说明 |
Promise<void> | ERROR_CODE_OK:压缩成功; ERROR_CODE_ERRNO:压缩失败。 |
示例1:
//【压缩文件 例子1】
import zlib from '@ohos.zlib';
let inFile = '/xxx/filename.xxx';
let outFile = '/xxx/xxx.zip';
let options = {
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
};
zlib.zipFile(inFile, outFile, options).then((data) => {
console.log('zipFile result is ' + JSON.stringify(data));
}).catch((err) => {
console.log('error is ' + JSON.stringify(err));
});
示例2:
// 【压缩文件夹 例子2】
import zlib from '@ohos.zlib';
let inFile = '/xxx/xxx';
let outFile = '/xxx/xxx.zip';
let options = {
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
};
zlib.zipFile(inFile , outFile, options).then((data) => {
console.log('zipFile result is ' + JSON.stringify(data));
}).catch((err)=>{
console.log('error is ' + JSON.stringify(err));
});
zlib.unzipFile
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>
解压文件,解压完成返回执行结果(Promise形式)。
系统能力: SystemCapability.BundleManager.Zlib
参数:
参数名 | 类型 | 必填 | 说明 |
inFile | string | 是 | |
outFile | string | 是 | 指定的解压文件路径。 |
options | 是 | 解压的可选参数。 |
返回值:
类型 | 说明 |
Promise<void> | ERROR_CODE_OK:解压成功; ERROR_CODE_ERRNO:解压失败返回执行结果。 |
示例:
// 【解压缩 例子1】
import zlib from '@ohos.zlib';
let inFile = '/xx/xxx.zip';
let outFile = '/xxx';
let options = {
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
};
zlib.unzipFile(inFile, outFile, options).then((data) => {
console.log('unzipFile result is ' + JSON.stringify(data));
}).catch((err)=>{
console.log('error is ' + JSON.stringify(err));
})
Options
系统能力: SystemCapability.BundleManager.Zlib
名称 | 类型 | 可读 | 可写 | 说明 |
level | CompressLevel | 是 | 否 | |
memLevel | MemLevel | 是 | 否 | 参考zip.MemLevel枚举定义。 |
strategy | CompressStrategy | 是 | 否 |
zip.CompressLevel
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
COMPRESS_LEVEL_NO_COMPRESSION | 0 | 压缩率为0压缩等级。 |
COMPRESS_LEVEL_BEST_SPEED | 1 | 最佳速度压缩等级。 |
COMPRESS_LEVEL_BEST_COMPRESSION | 9 | 最佳压缩等级。 |
COMPRESS_LEVEL_DEFAULT_COMPRESSION | -1 | 默认压缩等级。 |
zip.MemLevel
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
MEM_LEVEL_MIN | 1 | zip 接口在压缩过程中最小使用内存。 |
MEM_LEVEL_MAX | 9 | zip 接口在压缩过程中最大使用内存。 |
MEM_LEVEL_DEFAULT | 8 | zip 接口在压缩过程中默认使用内存。 |
zip.CompressStrategy
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
COMPRESS_STRATEGY_DEFAULT_STRATEGY | 0 | 常规数据策略。 |
COMPRESS_STRATEGY_FILTERED | 1 | 过滤器产生的数据压缩策略。 |
COMPRESS_STRATEGY_HUFFMAN_ONLY | 2 | 霍夫曼编码格式压缩策略。 |
COMPRESS_STRATEGY_RLE | 3 | 游标编码压缩策略。 |
COMPRESS_STRATEGY_FIXED | 4 | 固定的压缩策略。 |
zip.ErrorCode
系统能力: SystemCapability.BundleManager.Zlib
名称 | 值 | 说明 |
ERROR_CODE_OK | 0 | 函数调用成功。 |
ERROR_CODE_ERRNO | -1 | 函数调用失败。 |