import bundle form '@ohos.bundle.bundleManager'
cl.bundlemanager.5 ApplicationInfo结构体变更,包管理原有bundle/applicationInfo.d.ts字段全部废弃,变更为bundleManager/applicationInfo.d.ts,涉及字段属性变化。
ApplicationInfo结构体变更,包管理原有bundle/applicationInfo.d.ts字段全部废弃,变更为bundleManager/applicationInfo.d.ts,涉及字段属性变化。
对原有使用API version 9之前的应用无影响,使用API version 9的应用需要适配新模块和新接口。使用二级模块导出ApplicationInfo时,需要导入@ohos.bundle.bundleManager模块。
关键的接口/组件变更
ApplicationInfo结构体发生变化的字段内容如下表所示。其余字段在bundle/applicationInfo.d.ts中废弃后,在新的bundleManager/applicationInfo.d.ts中均有对应值。没有对应字段,则表明该字段已经在API9上废弃。
导入包管理查询的模块,使用API9 version的ApplicationInfo结构体。
cl.bundlemanager.6 HapModuleInfo结构体字段变更,包管理原有bundle/hapModuleInfo.d.ts 和 moduleInfo.d.ts字段全部废弃,变更为bundleManager/hapModuleInfo.d.ts,涉及字段属性变化。
HapModuleInfo结构体字段变更,包管理原有bundle/hapModuleInfo.d.ts 和 moduleInfo.d.ts字段全部废弃,变更为bundleManager/hapModuleInfo.d.ts,涉及字段属性变化。
对原有使用API version 9之前的应用无影响,使用API version 9的应用需要适配新模块和新接口。使用二级模块导出HapModuleInfo时,需要导入@ohos.bundle.bundleManager模块。
关键的接口/组件变更
HapModuleInfo结构体发生变化的字段内容如下表所示。其余字段在bundle/hapModuleInfo.d.ts中废弃后,在新的bundleManager/hapModuleInfo.d.ts中均有对应值。
|废弃|API9新增或变更|类型|
|—|—|—|
|abilityInfo| abilitiesInfo|Array|
|无|moduleSourceDir|string|
|backgroundImg|无|string|
|supportedModes|无|string|
|reqCapabilities|无|Array<string>|
|moduleName|无|string|
|mainAbilityName|无|string|
|extensionAbilityInfo|extensionAbilitiesInfo|Array<ExtensionAbilityInfo>|
导入包管理查询的模块,使用API9 version的HapModuleInfo结构体。
cl.bundlemanager.7 ModuleInfo结构体废弃,使用bundleManager/hapModuleInfo.d.ts中的HapModuleInfo代替。
包管理原有bundle/hapModuleInfo.d.ts 和 moduleInfo.d.ts字段全部废弃,变更为bundleManager/hapModuleInfo.d.ts,涉及字段属性变化。
ModuleInfo结构体废弃,使用bundleManager/hapModuleInfo.d.ts中的HapModuleInfo代替。
对原有使用API version 9之前的应用无影响,使用API version 9的应用需要适配新模块和新接口。ModuleInfo被废弃,使用HapModuleInfo代替。
关键的接口/组件变更
ModuleInfo结构体被废弃,使用HapModuleInfo代替。
使用API9 version的HapModuleInfo结构体。
cl.bundlemanager.8 AbilityInfo结构体字段变更,原bundle/abilityInfo.d.ts全部废弃,变更为bundleManager/abilityInfo.d.ts,涉及到字段属性变化
AbilityInfo结构体字段变更,原bundle/abilityInfo.d.ts全部废弃,变更为bundleManager/abilityInfo.d.ts,涉及到字段属性变化
对原有使用API version 9之前的应用无影响,使用API version 9的应用需要适配新模块和新接口。
关键的接口/组件变更
包管理AbilityInfo结构体字段变更如下表所示,未在表格中列出的表明废弃后均在新的AbilityInfo中存在,标记为无的表明该字段已在API9废弃,在新的AbilityInfo中不存在。
|废弃|API9新增或变更|类型|
|—-| –|–|
|launchMode|launchType|number|
|supportWindowMode|supportWindowModes|Array<number>|
|targetAbility|无|string|
|backgroundModes|无|number|
|formEnabled|无| boolean|
|subType|无|AbilitySubType|
|deviceCapabilities|无|Array<string>|
|metaData |无|Array<CustomizeData>|
|maxWindowRatio|无|number|
|minWindowRatio|无|number|
|maxWindowWidth|无|number|
|minWindowWidth|无|number|
|maxWindowHeight|无|number|
|minWindowHeight|无|number |
|无|windowSize|WindowSize|
其中API9新增结构体WindowSize属性如下:
使用API9 version的AbilityInfo结构体。
cl.bundlemanager.9 BundleFlag变更,变更为@ohos.bundle.bundleManager中的BundleFlag、ApplicationFlag和AbilityFlag,涉及到接口入参修改。
BundleFlag变更,变更为@ohos.bundle.bundleManager中的BundleFlag、ApplicationFlag和AbilityFlag,根据新接口的入参,传入不同类型的flag。
BundleFlag变更,变更为@ohos.bundle.bundleManager中的BundleFlag、ApplicationFlag和AbilityFlag,根据新接口的入参描述,传入不同类型的flag。直接使用API Version 9之前的BundleFlag,可能查询失败。
关键的接口/组件变更
原@ohos.bundle中的BundleFlag全部废弃,使用新的@ohos.bundle.bundleManager中的BundleFlag、ApplicationFlag和AbilityFlag代替。
API9的BundleFlag 如下表所示:
| BundleFlag|值|描述|
|—|—|–|
|GET_BUNDLE_INFO_DEFAULT|0x00000000|获取默认BundleInfo,获取到的BundleInfo不包含signatureInfo, hapModuleInfo, appInfo, reqPermissionDetails和permissionGrantStates|
|GET_BUNDLE_INFO_WITH_APPLICATION|0x00000001|额外获取appInfos|
|GET_BUNDLE_INFO_WITH_HAP_MODULE|0x00000002|额外获取hapModulesInfo|
|GET_BUNDLE_INFO_WITH_ABILITY|0x00000004|指定在获取hapModulesInfo的信息中是否包含abilitiesInfo,需要和GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用,不能单独使用。|
|GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY|0x00000008|指定在获取hapModulesInfo的信息中是否包含extensionAbilitiesInfo,需要和GET_BUNDLE_INFO_WITH_HAP_MODULE一起使用,不能单独使用。|
|GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION|0x00000010|额外获取reqPermissionDetails和permissionGrantStates|
|GET_BUNDLE_INFO_WITH_METADATA|0x00000020|控制返回的ApplicationInfo, AbilityInfo和ExtensionAbilityInfo中是否包含metadata信息,不能单独使用|
|GET_BUNDLE_INFO_WITH_DISABLE|0x00000040|可获取被禁用application的BundleInfo和获取abilitiesInfo中disabled ability信息|
|GET_BUNDLE_INFO_WITH_SIGNATURE_INFO|0x00000080|额外获取signatureInfo|
API9的 ApplicationFlag 如下表所示
| ApplicationFlag|值|描述|
|—|—|–|
|GET_APPLICATION_INFO_DEFAULT|0x00000000|获取默认ApplicationInfo,获取的ApplicationInfo不包含permissions和matedata|
|GET_APPLICATION_INFO_WITH_PERMISSION|0x00000001|额外获取permissions|
|GET_APPLICATION_INFO_WITH_METADATA|0x00000002|额外获取metadata|
|GET_APPLICATION_INFO_WITH_DISABLE|0x00000004|获取disabled的application信息|
API9的 AbilityFlag 如下表所示:
| AbilityFlag|值|描述|
|—|—|—|
|GET_ABILITY_INFO_DEFAULT| 0x00000000|用于获取默认的AbilityInfo信息,不包含permission、metadata和 disabled 的 AbilityInfo|
|GET_ABILITY_INFO_WITH_PERMISSION|0x00000001|用于获取带有permission信息的AbilityInfo|
|GET_ABILITY_INFO_WITH_APPLICATION|0x00000002|用于获取带有ApplicationInfo结构体信息的AbilityInfo|
|GET_ABILITY_INFO_WITH_METADATA|0x00000004|用于获取带有metadata信息的AbilityInfo|
|GET_ABILITY_INFO_WITH_DISABLE|0x00000008|用于获取所有的AbilityInfo,包含被禁用的Ability|
|GET_ABILITY_INFO_ONLY_SYSTEM_APP|0x00000010|用于系统应用获取AbilityInfo|
根据调用的@ohos.bundle.bundleManager.d.ts中的接口,使用不同的flag类型。
cl.bundlemanager.10 默认应用模块ApplicationType枚举值变更
@ohos.bundle.defaultApp模块,相关接口功能未发生变化,使用方式未发生变化。只有ApplicationType的枚举值有变化。
相关接口版本为API version 9,对API9之前的应用无影响。API9应用需要适配新枚举值。
关键的接口/组件变更
ApplicationType的枚举值变化如下:
| ApplicationType | API9新增或变更 |API8及以前|
|:—–:|:————-:|:——–:|
|BROWSER| “Web Browser”|“BROWSER”|
| IMAGE|“Image Gallery”| “IMAGE” |
| AUDIO|“Audio Player”| “AUDIO” |
| VIDEO|“Video Player”| “VIDEO” |
| PDF | “PDF Viewer” | “PDF” |
| WORD | “Word Viewer”| “WORD” |
| EXCEL|“Excel Viewer”| “EXCEL” |
| PPT | “PPT Viewer” | “PPT” |
导入默认应用的模块,调用相关的接口。
import defaultApp form '@ohos.bundle.defaultAppManager'
cl.bundlemanager.11 分布式包管理模块变更,原@ohos.distributedBundle.d.ts接口全部废弃,变更为@ohos.bundle.distributedBundle.d.ts,涉及接口变更。
API异常错误整改,分布式包管理模块变更,原@ohos.distributedBundle.d.ts接口全部废弃,变更为@ohos.bundle.distributedBundleManager.d.ts。涉及接口getRemoteAbilityInfos,变更为getRemoteAbilityInfo。相关结构体RemoteAbilityInfo的二级模块导出功能也需要导入新模块才可以继续使用。
对API version 9之前的应用无影响。分布式模块和getRemoteAbilityInfos名称变更,会导致原有API version 9应用使用新的sdk编译失败。
关键的接口/组件变更
@ohos.distributedBundle.d.ts中接口全部废弃,新增@ohos.bundle.distributedBundle.d.ts,其中部分接口保持与原接口功能一致。新接口全部支持异常处理。接口变更如下:
|废弃|API9新增或变更|systemapi|
|—-|—-|–|
|getRemoteAbilityInfos|getRemoteAbilityInfo|是|
需要导入新的分布式模块:
import distributedBundle form '@ohos.bundle.distributedBundle'
cl.bundlemanager.12 免安装模块和接口变更,从@ohos.bundle.d.ts移到@ohos.bundle.freeInstall.d.ts,涉及模块和接口变更
API支持异常处理整改,免安装模块变更,从@ohos.bundle.d.ts移到@ohos.bundle.freeInstall.d.ts,涉及模块和接口变更,系统能力为SystemCapability.BundleManager.BundleFramework.FreeInstall。
1. 原导入的@ohos.bundle模块需要变更为@ohos.bundle.freeInstall。
2. setModuleUpgradeFlag变更为setHapModuleUpgradeFlag。
3. isModuleRemovable变更为isHapModuleRemovable。
4. getDispatcher变更为getDispatchInfo
对API version 9之前的应用无影响,使用API9接口的应用会编译失败。
关键的接口/组件变更
免安装相关接口变更如下表所示。未在表中列出的表示接口名称和使用方法未发生变更,仅修改了模块名称。
|废弃|API9新增或变更|systemapi|
|—-|—-|—-|
|setModuleUpgradeFlag|setHapModuleUpgradeFlag|是|
|isModuleRemovable|isHapModuleRemovable|是|
|getDispatcher|getDispatchInfo|是|
使用免安装相关接口,需要导入新的模块,按照接口前后对应关系进行修改。
import freeInstall from '@ohos.bundle.freeInstall'
cl.bundlemanager.13 免安装相关结构体DisPatchInfo、AbilityFormInfo、ModuleDistroInfo和ModuleConfigInfo发生字段变更
免安装相关结构体DisPatchInfo、AbilityFormInfo、ModuleDistroInfo和ModuleConfigInfo发生字段变更:
1. DispatchInfo中字段dispatchAPI名称修改为dispatchAPIVersion,属性不变,为string。表示免安装接口的版本信息,含义不变。
2. AbilityFormInfo结构体字段属性变更,原有字段supportDimensions属性由Array<number>修改为Array<string>;
3. AbilityFormInfo结构体字段属性变更,原有字段defaultDimension属性由number修改为string。
4. ModuleDistroInfo结构体废弃mainAbility字段,移至ModuleConfigInfo结构体中。
5. ModuleConfigInfo结构体新增mainAbility字段。
对API version 9之前的应用无影响。结构体名称字段属性变更,会导致原有API9应用使用新的sdk编译失败。
关键的接口/组件变更
1. DispatchInfo
cl.bundlemanager.14 结构体GrantStatus变更为PermissionGrantState
结构体GrantStatus变更为PermissionGrantState,枚举类型和值不变。
对API version 9之前的应用无影响。结构体名称字变更,会导致原有API9应用使用新的sdk编译失败。
关键的接口/组件变更
表示授权状态的GrantStatus结构体变更为@ohos.bundle.bundleManager.d.ts中的PermissionGrantState。
|枚举名|枚举值|
|—|—|
| PERMISSION_DENIED|-1|
|PERMISSION_GRANTED|0|
需要导入新的模块,修改结构体名称为PermissionGrantState。
import bundle form '@ohos.bundle.bundleManager'
cl.bundlemanager.15 包管理ShortcutInfo结构体字段变更
包管理ShortcutInfo结构体字段变更,原有bundle/shortcutInfo.d.ts字段全部废弃,变更为bundleManager/shortcutInfo.d.ts。ShortcutInfo和ShortWant结构体全部为systemapi。
对API version 9之前的应用无影响。结构体名称字段属性变更,会导致原有API9应用使用新的sdk编译失败。
关键的接口/组件变更
涉及到ShortcutInfo和ShortcutWant结构体。如果需要使用二级模块导出功能,需要导入新模块@ohos.bundle.launcherBundleManager。
ShortcutInfo结构体变化如下表,未在表格中列出的表明字段在API9上还存在。
|废弃|API9新增或变更|属性|
|—|—|—|
|disableMessage|无|string|
|isStatic|无|boolean|
|isHomeShortcut|无|boolean|
|isEnabled|无|boolean|
|disableMessage|无|boolean|
ShortcutWant结构体如下表,未在表格中列出的表明字段在API9上还存在。
|废弃|API9新增或变更|属性|
|—|—|—|
|targetClass|targetAbility|string|
使用免安装相关接口,需要导入新的模块,按照结构体前后对应关系进行修改。
import launcherBundleManager form '@ohos.bundle.launcherBundleManager'
cl.bundlemanager.16 包管理getBundleInstaller接口变更,从@ohos.bundle.d.ts移至@ohos.bundle.installer.d.ts
包管理getBundleInstaller接口变更,从@ohos.bundle.d.ts移至@ohos.bundle.installer.d.ts
.,系统能力为SystemCapability.BundleManager.BundleFramework.Core。
对API version 9之前的应用无影响。使用API9的应用需要适配新模块和新接口。
关键的接口/组件变更
1. getBundleInstaller,导入模块由@ohos.bundle变更为@ohos.bundle.installer。
导入新的包管理安装模块,调用getBundleInstaller
import installer form '@ohos.bundle.installer'
cl.bundlemanager.17 包管理安装接口变更,从bundle/bundleInstaller.d.ts移至@ohos.bundle.installer.d.ts
包管理安装接口变更,从bundle/bundleInstaller.d.ts移至@ohos.bundle.installer.d.ts,系统能力为SystemCapability.BundleManager.BundleFramework.Core。
对API version 9之前的应用无影响。使用API9的应用需要适配新模块和新接口。
关键的接口/组件变更
1. install/uninstall/recover接口增加了异常处理能力,接口名称和入参均未发生变化,仅修改了模块名称。
2. HashParam结构体新增字段
cl.bundlemanager.19 包管理innerBundleManger模块接口变更,@ohos.bundle.innerBundleManger.d.ts接口全部废弃,移至@ohos.bundle.launcherBundleManager.d.ts。
innerBundleManager相关接口功能未发生变化,使用方式有变化。需要导入@ohos.bundle.launcherBundleManager.d.ts模块来使用innerBundleManager相关的接口,系统能力为SystemCapability.BundleManager.BundleFramework.Core。
相关接口版本为API version 9,对api9之前的应用无影响。使用了innerBundleManager接口能力的应用需要适配新的模块和接口。
关键的接口/组件变更
以下接口功能和入参未发生变化,增加了API异常处理。使用二级模块导出ShortcutInfo和ShortcutWant时,需要导入新模块@ohos.bundle.launcherBundleManager。on/off接口从@ohos.bundle.innerBundleManger.d.ts中废弃,移至@ohos.bundle.bundleMonitor.d.ts中。
1. getLauncherAbilityInfos
2. getAllLauncherAbilityInfos
3. getShortcutInfos
需要导入新模块@ohos.bundle.launcherBundleManage
import launcherBundleManager form '@ohos.bundle.launcherBundleManage'
cl.bundlemanager.20 innerBundleManagr模块变更,on, off接口从@ohos.bundle.innerBundleManager模块移到@ohos.bundle.bundleMonitor.d.ts模块
innerBundleManager相关接口功能未发生变化,使用方式有变化。需要导入@ohos.bundle.bundleMonitor.d.ts模块来使用innerBundleManager相关的接口,均为systemapi。系统能力为SystemCapability.BundleManager.BundleFramework.Core。
相关接口版本为API version 9,对API9之前的应用无影响。使用了innerBundleManager接口能力的应用需要适配新的模块和接口。
关键的接口/组件变更
on/off变更至@ohos.bundle.bundleMonitor.d.ts,使用接口入参与老接口不同。API9函数原型为:
function on(type: BundleChangedEvent, callback: Callback<BundleChangedInfo>): void;
function off(type: BundleChangedEvent, callback?: Callback<BundleChangedInfo>): void;
其中BundleChangedEvent为:
type BundleChangedEvent = 'add'|'update'|'remove';
回调函数BundleChangedInfo为:
interface BundleChangedInfo {
readonly bundleName: string;
readonly userId: number;
由调用方获取到BundleChangedInfo后,继续执行相关操作(即老接口中BundleStatusCallback中的add、update和remove等函数)。
导入bundleMonitor的模块,调用相关接口。
import bundleMonitor form '@ohos.bundle.bundleMonitor'
cl.bundlemanager.21 包管理bundleStatusCallback.d.ts接口全部废弃,移至@ohos.bundle.bundleMonitor.d.ts中。
包管理bundleStatusCallback.d.ts接口全部废弃,移至@ohos.bundle.bundleMonitor.d.ts中。原有BundleStatusCallback中的add、update和remove全部废弃,变更为BundleChangedEvent,为systemapi。系统能力为SystemCapability.BundleManager.BundleFramework.Core。
相关接口版本为API version 9,对API9之前的应用无影响。使用了BundleStatusCallback接口能力的应用需要适配新的模块和接口。
关键的接口/组件变更
.
以下接口全部废弃,在@ohos.bundle.bundleMonitor.d.ts中新增BundleChangedEvent。
1. add
2. update
3. remove
导入bundleMonitor的模块,调用相关接口。与之前的BundleStatusCallback方式不同,BundleStatusCallback是将add、update和remove方法传入on/off接口,API9的BundleMonitor接口是通过on/off接口将BundleChangedInfo通过回调函数返回出来给调用方使用。
import bundleMonitor form '@ohos.bundle.bundleMonitor'
cl.bundlemanager.22 包管理Zlib模块接口变更,@ohos.zlib.d.ts中接口涉及废弃和变更。
包管理Zlib模块接口变更,@ohos.zlib.d.ts中接口涉及废弃和变更。系统能力为SystemCapability.BundleManager.Zlib。
相关接口版本为API version 9,对API9之前的应用无影响。使用了API9的应用需要适配新的模块和接口。
关键的接口/组件变更
@ohos.zlib.d.ts中涉及到变更的接口如下表所示,新增API9接口使用方法与之前相同,支持API异常处理。
|废弃|API9新增或变更|systemapi|
|—|—-|—|
|zipFile|compressFile|是|
|unzipFile|decompressFile|是|
|ErrorCode|无|是|
导入模块未发生变化,直接使用新接口,适配异常处理。
import zlib form '@ohos.zlib'
你可能感兴趣的鸿蒙文章
harmony 鸿蒙资源调度子系统ChangeLog