提交 15d7d773 编写于 作者: W wanghang

IssueNo:#I5ZRIC

Description:api update
Sig:SIG_ApplicaitonFramework
Feature or Bugfix:Feature
Binary Source:No
Signed-off-by: Nwanghang <wanghang26@huawei.com>
上级 f42c7406
......@@ -65,30 +65,16 @@
- [@ohos.events.emitter (Emitter)](js-apis-emitter.md)
- [@ohos.notification (Notification模块)](js-apis-notification.md)
- application/[EventHub (EventHub)](js-apis-eventhub.md)
- 应用程序包管理
- [@ohos.bundle (Bundle模块)](js-apis-Bundle.md)
- [@ohos.bundle.defaultAppManager (Bundle模块)](js-apis-bundle-defaultAppManager.md)
- [@ohos.bundle.innerBundleManager (innerBundleManager模块(JS端SDK接口))](js-apis-Bundle-InnerBundleManager.md)
- [@ohos.distributedBundle (distributedBundle模块(JS端SDK接口))](js-apis-Bundle-distributedBundle.md)
- 包管理
- [@ohos.bundle.appControl(appControl模块)](js-apis-appControl.md)
- [@ohos.bundle.bundleManager (bundleManager模块)](js-apis-bundleManager.md)
- [@ohos.bundle.bundleMonitor(bundleMonitor模块)](js-apis-bundleMonitor.md)
- [@ohos.bundle.defaultAppManager(defaultAppManager模块)](js-apis-defaultAppManager.md)
- [@ohos.bundle.innerBundleManager (innerBundleManager模块)](js-apis-Bundle-InnerBundleManager.md)
- [@ohos.bundle.distributedBundle (distributedBundle模块)](js-apis-distributedBundle.md)
- [@ohos.bundle.freeInstall(freeInstall模块)](js-apis-freeInstall.md)
- [@ohos.bundle.installer(installer模块)](js-apis-installer.md)
- [@ohos.zlib (Zip模块)](js-apis-zlib.md)
- bundle/[AbilityInfo (AbilityInfo)](js-apis-bundle-AbilityInfo.md)
- bundle/[ApplicationInfo (ApplicationInfo)](js-apis-bundle-ApplicationInfo.md)
- bundle/[BundleInfo (BundleInfo)](js-apis-bundle-BundleInfo.md)
- bundle/[BundleInstaller (BundleInstaller)](js-apis-bundle-BundleInstaller.md)
- bundle/[BundleStatusCallback (BundleStatusCallback)](js-apis-Bundle-BundleStatusCallback.md)
- bundle/[CustomizeData (CustomizeData)](js-apis-bundle-CustomizeData.md)
- bundle/[DispatchInfo (DispatchInfo)](js-apis-dispatchInfo.md)
- bundle/[ElementName (ElementName)](js-apis-bundle-ElementName.md)
- bundle/[ExtensionAbilityInfo (ExtensionAbilityInfo)](js-apis-bundle-ExtensionAbilityInfo.md)
- bundle/[HapModuleInfo (HapModuleInfo)](js-apis-bundle-HapModuleInfo.md)
- bundle/[LauncherAbilityInfo (LauncherAbilityInfo)](js-apis-bundle-LauncherAbilityInfo.md)
- bundle/[Metadata (Metadata)](js-apis-bundle-Metadata.md)
- bundle/[ModuleInfo (ModuleInfo)](js-apis-bundle-ModuleInfo.md)
- bundle/[PermissionDef (PermissionDef)](js-apis-bundle-PermissionDef.md)
- bundle/[RemoteAbilityInfo (RemoteAbilityInfo)](js-apis-bundle-remoteAbilityInfo.md)
- bundle/[ShortcutInfo<sup>(deprecated)</sup> (ShortcutInfo)](js-apis-bundle-ShortcutInfo.md)
- bundle/[PackInfo (PackInfo)](js-apis-bundle-PackInfo.md)
- bundleManager/[ShortcutInfo (ShortcutInfo)](js-apis-bundleManager-shortcutInfo.md)
- UI界面
- [@ohos.animator (动画)](js-apis-animator.md)
- [@ohos.curves (插值计算)](js-apis-curve.md)
......@@ -269,13 +255,14 @@
- 测试
- [@ohos.application.testRunner (TestRunner)](js-apis-testRunner.md)
- [@ohos.uitest (UiTest)](js-apis-uitest.md)
- 已停止维护的接口
- [@ohos.backgroundTaskManager (后台任务管理)](js-apis-backgroundTaskManager.md)
- [@ohos.bundle(包管理)](js-apis-Bundle.md)
- [@ohos.bundleState (设备使用信息统计)](js-apis-deviceUsageStatistics.md)
- [@ohos.bytrace (性能打点)](js-apis-bytrace.md)
- [@ohos.data.storage (轻量级存储)](js-apis-data-storage.md)
- [@ohos.data.distributedData (分布式数据管理)](js-apis-distributed-data.md)
- [@ohos.distributedBundle(分布式包管理)](js-apis-Bundle-distributedBundle.md)
- [@ohos.prompt (弹窗)](js-apis-prompt.md)
- [@ohos.reminderAgent (后台代理提醒)](js-apis-reminderAgent.md)
- [@ohos.usb (USB管理)](js-apis-usb-deprecated.md)
......
# BundleStatusCallback
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用包回调的信息,通过接口[innerBundleManager.on](js-apis-Bundle-InnerBundleManager.md)获取。
## BundleStatusCallback
## BundleStatusCallback<sup>(deprecated)<sup>
> 从API version 9开始不再维护。
**系统API:** 此接口为系统接口,三方应用不支持调用。
......@@ -17,9 +14,6 @@
| 名称 | 类型 | 说明 |
| ------ | --------------------------------------------- | -------------------------------------- |
| add | (bundleName : string, userId: number) => void | 获取添加的launcherStatusCallback回调。 |
| update | (bundleName : string, userId: number) => void | 获取编辑的launcherStatusCallback回调。 |
| remove | (bundleName : string, userId: number) => void | 获取移除的launcherStatusCallback回调。 |
| add | (bundleName : string, userId: number) => void | 获取应用安装时的信息。 |
| update | (bundleName : string, userId: number) => void | 获取应用更新时的信息。 |
| remove | (bundleName : string, userId: number) => void | 获取应用卸载时的信息。 |
\ No newline at end of file
......@@ -57,7 +57,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......@@ -119,7 +119,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......@@ -186,7 +186,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......@@ -245,7 +245,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......@@ -310,7 +310,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......@@ -369,7 +369,7 @@ import bundleManager from '@ohos.bundle.bundleManager';
var bundleName = 'com.example.myapplication';
var appId;
try {
bundleManager.getBundleInfo(bundleName, BundleManager.BundleFlags.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
.then((data) => {
appId = data.signatureInfo.appId;
}, error => {
......
# AbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
......@@ -9,7 +7,9 @@
Ability信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取
## AbilityInfo
## AbilityInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[AbilityInfo](js-apis-bundleManager-abilityInfo.md)替代。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
......@@ -28,7 +28,7 @@ Ability信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取
| backgroundModes | number | 是 | 否 | 表示后台服务的类型<br />此属性仅可在FA模型下使用 |
| isVisible | boolean | 是 | 否 | 判断Ability是否可以被其他应用调用 |
| formEnabled | boolean | 是 | 否 | 判断Ability是否提供卡片能力<br />此属性仅可在FA模型下使用 |
| type | AbilityType | 是 | 否 | Ability类型<br />此属性仅可在FA模型下使用 |
| type | AbilityType | 是 | 否 | Ability类型<br />此属性仅可在FA模型下使用 |
| orientation | DisplayOrientation | 是 | 否 | Ability的显示模式 |
| launchMode | LaunchMode | 是 | 否 | Ability的启动模式 |
| permissions | Array\<string> | 是 | 否 | 被其他应用Ability调用时需要申请的权限集合<br />通过传入GET_ABILITY_INFO_WITH_PERMISSION获取 |
......@@ -40,13 +40,5 @@ Ability信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取
| uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI)<br />此属性仅可在FA模型下使用 |
| labelId | number | 是 | 否 | Ability的标签id |
| subType | AbilitySubType | 是 | 否 | Ability中枚举使用的模板的子类型<br />此属性仅可在FA模型下使用 |
| metaData<sup>8+</sup> | Array\<[CustomizeData](js-apis-bundle-CustomizeData.md)> | 是 | 否 | ability的自定义信息<br />通过传入GET_ABILITY_INFO_WITH_METADATA获取 |
| metadata<sup>9+</sup> | Array\<[Metadata](js-apis-bundle-Metadata.md)> | 是 | 否 | ability的元信息<br />通过传入GET_ABILITY_INFO_WITH_METADATA获取 |
| enabled<sup>8+</sup> | boolean | 是 | 否 | ability是否可用 |
| supportWindowMode<sup>9+</sup> | Array\<[SupportWindowMode](js-apis-Bundle.md)> | 是 | 否 | ability支持的窗口模式 |
| maxWindowRatio<sup>9+</sup> | number | 是 | 否 | ability支持的最大的窗口比例 |
| minWindowRatio<sup>9+</sup> | number | 是 | 否 | ability支持的最小的窗口比 |
| maxWindowWidth<sup>9+</sup> | number | 是 | 否 | ability支持的最大的窗口宽度 |
| minWindowWidth<sup>9+</sup> | number | 是 | 否 | ability支持的最小的窗口宽度 |
| maxWindowHeight<sup>9+</sup> | number | 是 | 否 | ability支持的最大的窗口高度 |
| minWindowHeight<sup>9+</sup> | number | 是 | 否 | ability支持的最小的窗口高度 |
\ No newline at end of file
| metadata<sup>8+</sup> | Array\<[CustomizeData](js-apis-bundle-CustomizeData.md)> | 是 | 否 | ability的元信息<br />通过传入GET_ABILITY_INFO_WITH_METADATA获取 |
| enabled<sup>8+</sup> | boolean | 是 | 否 | ability是否可用 |
\ No newline at end of file
......@@ -5,7 +5,9 @@
应用程序信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取
## ApplicationInfo
## ApplicationInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[ApplicationInfo](js-apis-bundleManager-applicationInfo.md)替代。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
......@@ -20,10 +22,8 @@
| enabled | boolean | 是 | 否 | 判断应用程序是否可以使用,默认为true。 |
| label | string | 是 | 否 | 应用程序的标签。 |
| labelId<sup>(deprecated)</sup> | string | 是 | 否 | 应用程序的标签id。<br />\- **说明:** 从API version 9开始废弃,使用labelIndex。 |
| labelIndex<sup>9+</sup> | number | 是 | 否 | 应用程序的标签索引。 |
| icon | string | 是 | 否 | 应用程序的图标。 |
| iconId<sup>(deprecated)</sup> | string | 是 | 否 | 应用程序的图标id。<br />\- **说明:** 从API version 9开始废弃,使用iconIndex。 |
| iconIndex<sup>9+</sup> | number | 是 | 否 | 应用程序的图标索引。 |
| process | string | 是 | 否 | 应用程序的进程,如果不设置,默认为包的名称。 |
| supportedModes | number | 是 | 否 | 应用程序支持的运行模式。 |
| moduleSourceDirs | Array\<string> | 是 | 否 | 应用程序的资源存放的相对路径。 |
......@@ -32,14 +32,7 @@
| entryDir | string | 是 | 否 | 应用程序的文件保存路径。 |
| codePath<sup>8+</sup> | string | 是 | 否 | 应用程序的安装目录。 |
| metaData<sup>8+</sup> | Map\<string, Array\<[CustomizeData](js-apis-bundle-CustomizeData.md)>> | 是 | 否 | 应用程序的自定义元信息。<br />通过传入GET_APPLICATION_INFO_WITH_METADATA获取 |
| metadata<sup>9+</sup> | Map\<string, Array\<[Metadata](js-apis-bundle-Metadata.md)>> | 是 | 否 | 应用程序的元信息。<br />通过传入GET_APPLICATION_INFO_WITH_METADATA获取 |
| removable<sup>8+</sup> | boolean | 是 | 否 | 应用程序是否可以被移除。 |
| accessTokenId<sup>8+</sup> | number | 是 | 否 | 应用程序的accessTokenId。 |
| uid<sup>8+</sup> | number | 是 | 否 | 应用程序的uid。 |
| entityType<sup>8+</sup> | string | 是 | 否 | 应用程序的实体类型。 |
| fingerprint<sup>9+</sup> | string | 是 | 否 | 应用程序的签名证书指纹信息,即开发者申请的签名证书的sha256值。<br />通过传入GET_APPLICATION_INFO_WITH_CERTIFICATE_FINGERPRINT获取 |
| iconResource<sup>9+</sup> | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的图标资源信息。 |
| labelResource<sup>9+</sup> | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的标签资源信息。 |
| descriptionResource<sup>9+</sup> | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的描述资源信息。 |
| appDistributionType<sup>9+</sup> | string | 是 | 否 | 应用程序签名证书的分发类型,分为:app_gallery、enterprise、os_integration和crowdtesting。 |
| appProvisionType<sup>9+</sup> | string | 是 | 否 | 应用程序签名证书文件的类型,分为debug和release两种类型。|
\ No newline at end of file
| entityType<sup>8+</sup> | string | 是 | 否 | 应用程序的实体类型。 |
\ No newline at end of file
# BundleInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用包的信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取。
## BundleInfo
## BundleInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[BundleInfo](js-apis-bundleManager-bundleInfo.md)替代。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework。
......@@ -38,11 +36,12 @@
| minCompatibleVersionCode | number | 是 | 否 | 分布式场景下的应用包兼容的最低版本。 |
| entryInstallationFree | boolean | 是 | 否 | Entry是否支持免安装。 |
| reqPermissionStates<sup>8+</sup> | Array\<number> | 是 | 否 | 申请权限的授予状态。 |
| extensionAbilityInfo<sup>9+</sup> | Array\<[ExtensionAbilityInfo](js-apis-bundle-ExtensionAbilityInfo.md)> | 是 | 否 | ability的可扩展信息<br />通过传入GET_BUNDLE_WITH_EXTENSION_ABILITY获取。 |
## ReqPermissionDetail
## ReqPermissionDetail<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[ReqPermissionDetail](js-apis-bundleManager-bundleInfo.md)替代。
应用运行时需向系统申请的权限集合的详细信息。
......@@ -52,12 +51,13 @@
| --------------------- | ----------------------- | ---- | ---- | ---------------------- |
| name | string | 是 | 是 | 需要使用的权限名称。 |
| reason | string | 是 | 是 | 描述申请权限的原因。 |
| reasonId<sup>9+</sup> | number | 是 | 是 | 描述申请权限的原因ID。 |
| usedScene | [UsedScene](#usedscene) | 是 | 是 | 权限使用的场景和时机。 |
## UsedScene
## UsedScene<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[UsedScene](js-apis-bundleManager-bundleInfo.md)替代。
描述权限使用的场景和时机。
......
# BundleInstaller
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
在设备上安装、升级和卸载应用
## BundleInstaller.install<sup>(deprecated)<sup>
在设备上安装、升级和删除捆绑包
## BundleInstaller.install
> 从API version 9开始不再维护,建议使用[install](js-apis-installer.md)替代。
install(bundleFilePaths: Array&lt;string&gt;, param: InstallParam, callback: AsyncCallback&lt;InstallStatus&gt;): void;
......@@ -35,7 +31,9 @@ SystemCapability.BundleManager.BundleFramework
| param | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数。 |
| callback | AsyncCallback&lt;[InstallStatus](#installstatus)&gt; | 是 | 程序启动作为入参的回调函数,返回安装状态信息。 |
## BundleInstaller.uninstall
## BundleInstaller.uninstall<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[uninstall](js-apis-installer.md)替代。
uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback&lt;InstallStatus&gt;): void;
......@@ -59,7 +57,9 @@ SystemCapability.BundleManager.BundleFramework
| param | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数。 |
| callback | AsyncCallback&lt;[InstallStatus](#installstatus)&gt; | 是 | 程序启动作为入参的回调函数,返回安装状态信息。 |
## BundleInstaller.recover<sup>8+</sup>
## BundleInstaller.recover<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[recover](js-apis-installer.md)替代。
recover(bundleName: string, param: InstallParam, callback: AsyncCallback&lt;InstallStatus&gt;): void;
......@@ -83,20 +83,7 @@ SystemCapability.BundleManager.BundleFramework
| param | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数。 |
| callback | AsyncCallback&lt;[InstallStatus](#installstatus)&gt; | 是 | 程序启动作为入参的回调函数,返回安装状态信息。 |
## HashParam<sup>9+</sup>
应用程序安装卸载信息
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统API:** 此接口为系统接口,三方应用不支持调用
| 名称 | 类型 | 说明 |
| ---------- | ------ | ---------------- |
| moduleName | string | 应用程序模块名称 |
| hashValue | string | 哈希值 |
## InstallParam
## InstallParam<sup>(deprecated)<sup>
应用程序安装卸载信息
......@@ -109,10 +96,8 @@ SystemCapability.BundleManager.BundleFramework
| userId | number | 指示用户id |
| installFlag | number | 指示安装标志 |
| isKeepData | boolean | 指示参数是否有数据 |
| hashParams<sup>9+</sup> | Array<[HashParam](#hashparam)> | 哈希值参数 |
| crowdtestDeadline<sup>9+</sup> | number | 测试包的被杀死时间 |
## InstallStatus
## InstallStatus<sup>(deprecated)<sup>
应用程序安装状态
......
......@@ -21,5 +21,4 @@ ElementName信息,通过接口[Context.getElementName](js-apis-Context.md)获
| bundleName | string | 是 | 是 | 应用包名。 |
| abilityName | string | 是 | 是 | Ability名称。 |
| uri | string | 是 | 是 | 资源标识符。 |
| shortName | string | 是 | 是 | Ability短名称。 |
| moduleName<sup>9+</sup> | string | 是 | 是 | Ability所属的HAP包的名称。 |
\ No newline at end of file
| shortName | string | 是 | 是 | Ability短名称。 |
\ No newline at end of file
......@@ -9,7 +9,9 @@
Hap模块信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获取
## HapModuleInfo
## HapModuleInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)替代。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
......@@ -32,8 +34,4 @@ Hap模块信息,未做特殊说明的属性,均通过GET_BUNDLE_DEFAULT获
| moduleName | string | 是 | 否 | 模块名 |
| mainAbilityName | string | 是 | 否 | 入口Ability名称 |
| installationFree | boolean | 是 | 否 | 是否支持免安装 |
| mainElementName<sup>9+</sup> | string | 是 | 否 | 入口ability信息 |
| extensionAbilityInfo<sup>9+</sup> | Array\<[ExtensionAbilityInfo](js-apis-bundle-ExtensionAbilityInfo.md)> | 是 | 否 | extensionAbility信息 |
| metadata<sup>9+</sup> | Array\<[Metadata](js-apis-bundle-Metadata.md)> | 是 | 否 | Ability的元信息 |
| hashValue<sup>9+</sup> | string | 是 | 否 | Module的Hash值<br />通过传入GET_BUNDLE_WITH_HASH_VALUE获取 |
......@@ -9,7 +9,9 @@
LauncherAbilityInfo信息,通过接口[innerBundleManager.getLauncherAbilityInfos](js-apis-Bundle-InnerBundleManager.md)获取。
## LauncherAbilityInfo
## LauncherAbilityInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)替代。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework。
......
# ModuleInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用程序的模块信息
## ModuleInfo
## ModuleInfo<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)替代。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------- | ------ | ---- | ---- | -------- |
| moduleName | string | 是 | 否 | 模块名称 |
......
......@@ -9,7 +9,9 @@
配置文件中定义的权限详细信息
## **PermissionDef**
## **PermissionDef**<sup>(deprecated)<sup>
> 从API version 9开始不再维护,建议使用[PermissionDef](js-apis-bundleManager-permissionDef.md)替代。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
......
......@@ -23,7 +23,6 @@
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------- | ------ | ---- | ---- | -------------------- |
| targetBundle | string | 是 | 否 | 快捷方式的目标捆绑包 |
| targetModule<sup>9+</sup> | string | 是 | 否 | 快捷方式的目标模块 |
| targetClass | string | 是 | 否 | 快捷方式所需的目标类 |
## ShortcutInfo<sup>(deprecated)<sup>
......@@ -46,5 +45,4 @@
| wants | Array&lt;[ShortcutWant](#shortcutwant)&gt; | 是 | 否 | 快捷方式所需要的信息 |
| isStatic | boolean | 是 | 否 | 快捷方式是否为静态 |
| isHomeShortcut | boolean | 是 | 否 | 快捷方式是否为主页面快捷方式 |
| isEnabled | boolean | 是 | 否 | 是否启用快捷方式 |
| moduleName<sup>9+</sup> | string | 是 | 否 | 快捷方式的模块名 |
\ No newline at end of file
| isEnabled | boolean | 是 | 否 | 是否启用快捷方式 |
\ No newline at end of file
# AbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Ability信息,未做特殊说明的属性,均通过[GET_ABILITY_INFO_DEFAULT](js-apis-bundleManager.md)获取
## AbilityInfo
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------- | -------------------------------------------------------- | ---- | ---- | ----------------------------------------- |
| bundleName | string | 是 | 否 | 应用包名 |
| moduleName | string | 是 | 否 | Ability所属的HAP包的名称 |
| name | string | 是 | 否 | Ability名称 |
| label | string | 是 | 否 | Ability对用户显示的名称 |
| labelId | number | 是 | 否 | Ability的标签资源id |
| description | string | 是 | 否 | Ability的描述 |
| descriptionId | number | 是 | 否 | Ability的描述资源id |
| icon | string | 是 | 否 | Ability的图标资源文件索引 |
| iconId | number | 是 | 否 | Ability的图标资源id |
| process | string | 是 | 否 | Ability的进程,如果不设置,默认为包的名称 |
| isVisible | boolean | 是 | 否 | 判断Ability是否可以被其他应用调用 |
| type | AbilityType | 是 | 否 | Ability类型<br />此属性仅可在FA模型下使用 |
| orientation | DisplayOrientation | 是 | 否 | Ability的显示模式 |
| launchType | number | 是 | 否 | Ability的启动模式 |
| permissions | Array\<string> | 是 | 否 | 被其他应用Ability调用时需要申请的权限集合,通过传入GET_ABILITY_INFO_WITH_PERMISSION获取 |
| readPermission | string | 是 | 否 | 读取Ability数据所需的权限<br />此属性仅可在FA模型下使用 |
| writePermission | string | 是 | 否 | 向Ability写数据所需的权限<br />此属性仅可在FA模型下使用 |
| uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI)<br />此属性仅可在FA模型下使用 |
| deviceTypes | Array\<string> | 是 | 否 | Ability支持的设备类型 |
| applicationInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 是 | 否 | 应用程序的配置信息,通过传入GET_ABILITY_INFO_WITH_APPLICATION获取 |
| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | 是 | 否 | ability的元信息,通过传入GET_ABILITY_INFO_WITH_METADATA获取 |
| enabled | boolean | 是 | 否 | ability是否可用 |
| supportWindowModes | Array\<[SupportWindowMode](js-apis-bundleManager.md)> | 是 | 否 | ability支持的窗口模式 |
| windowSize|[WindowSize](#windowsize) | 是 | 否 | 表示窗口尺寸|
## WindowSize
描述窗口尺寸。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------| ------- | ---- | ---- | ---------------------------------- |
| maxWindowRatio | number | 是 | 否 | 表示自由窗口状态下窗口的最大宽高比;取值范围0-1 |
| minWindowRatio | number | 是 | 否 | 表示自由窗口状态下窗口的最小宽高比;取值范围0-1 |
| maxWindowWidth | number | 是 | 否 | 表示自由窗口状态下窗口的最大宽度,宽度单位为vp |
| minWindowWidth | number | 是 | 否 | 表示自由窗口状态下窗口的最小宽度,宽度单位为vp |
| maxWindowHeight | number | 是 | 否 | 表示自由窗口状态下窗口的最大高度,宽度单位为vp |
| minWindowHeight | number | 是 | 否 | 表示自由窗口状态下窗口的最小高度,宽度单位为vp |
\ No newline at end of file
# ApplicationInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用程序信息,未做特殊说明的属性,均通过[GET_APPLICATION_INFO_DEFAULT](js-apis-bundleManager.md)获取
## ApplicationInfo
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ |
| name | string | 是 | 否 | 应用程序的名称 |
| description | string | 是 | 否 | 标识应用的描述信息 |
| descriptionId | number | 是 | 否 | 标识应用的描述信息的资源id |
| enabled | boolean | 是 | 否 | 判断应用程序是否可以使用,默认为true |
| label | string | 是 | 否 | 标识应用的名称 |
| labelId | number | 是 | 否 | 标识应用名称的资源id |
| icon | string | 是 | 否 | 应用程序的图标 |
| iconId | number | 是 | 否 | 应用程序图标的资源id |
| process | string | 是 | 否 | 应用程序的进程,如果不设置,默认为包的名称。 |
| permissions | Array\<string> | 是 | 否 | 访问应用程序所需的权限,通过传入GET_APPLICATION_INFO_WITH_PERMISSION获取 |
| entryDir | string | 是 | 否 | 应用程序的文件保存路径 |
| codePath | string | 是 | 否 | 应用程序的安装目录 |
| metadata | Map\<string, Array\<[Metadata](js-apis-bundleManager-metadata.md)>> | 是 | 否 | 应用程序的元信息,通过传入GET_APPLICATION_INFO_WITH_METADATA获取 |
| removable | boolean | 是 | 否 | 应用程序是否可以被移除 |
| accessTokenId | number | 是 | 否 | 应用程序的accessTokenId |
| uid | number | 是 | 否 | 应用程序的uid |
| iconResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的图标资源信息 |
| labelResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的标签资源信息 |
| descriptionResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的描述资源信息 |
| appDistributionType | string | 是 | 否 | 应用程序签名证书的分发类型,分为:app_gallery、enterprise、os_integration和crowdtesting |
| appProvisionType | string | 是 | 否 | 应用程序签名证书文件的类型,分为debug和release两种类型 |
\ No newline at end of file
# BundleInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用包的信息,未做特殊说明的属性,均通过[GET_BUNDLE_INFO_DEFAULT](js-apis-bundle-bundleManager)获取。
## BundleInfo
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ |
| name | string | 是 | 否 | 应用包的名称 |
| vendor | string | 是 | 否 | 应用包的供应商 |
| versionCode | number | 是 | 否 | 应用包的版本号 |
| versionName | string | 是 | 否 | 应用包的版本文本描述信息 |
| minCompatibleVersionCode | number | 是 | 否 | 分布式场景下的应用包兼容的最低版本 |
| targetVersion | number | 是 | 否 | 该标签标识应用运行目标版本 |
| appInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 是 | 否 | 应用程序的配置信息,通过传入GET_BUNDLE_INFO_WITH_APPLICATION获取 |
| hapModulesInfo | Array\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)> | 是 | 否 | 模块的配置信息,通过传入GET_BUNDLE_INFO_WITH_HAP_MODULE获取 |
| reqPermissionDetails | Array\<[ReqPermissionDetail](#reqpermissiondetail)> | 是 | 否 | 应用运行时需向系统申请的权限集合的详细信息,通过传入GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取|
| permissionGrantStates | Array\<[PermissionGrantState](js-apis-bundleManager.md#permissiongrantstate)> | 是 | 否 | 申请权限的授予状态,通过传入GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取 |
| signatureInfo | [SignatureInfo](#signatureinfo) | 是 | 否 | 应用包的签名信息,通过传入GET_BUNDLE_INFO_WITH_SIGNATURE_INFO获取 |
| installTime | number | 是 | 否 | 应用包安装时间 |
| updateTime | number | 是 | 否 | 应用包更新时间 |
## ReqPermissionDetail
应用运行时需向系统申请的权限集合的详细信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------- | ----------------------- | ---- | ---- | ---------------------|
| name | string | 是 | 是 | 需要使用的权限名称 |
| reason | string | 是 | 是 | 描述申请权限的原因 |
| reasonId | number | 是 | 是 | 描述申请权限的原因ID |
| usedScene | [UsedScene](#usedscene) | 是 | 是 | 权限使用的场景和时机 |
## UsedScene
描述权限使用的场景和时机。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------- | -------------- | ---- | ---- | --------------------------- |
| abilities | Array\<string> | 是 | 是 | 使用到该权限的Ability集合 |
| when | string | 是 | 是 | 使用该权限的时机。 |
## SignatureInfo
描述应用包的签名信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------- | -------------- | ---- | ---- | --------------------------- |
| appId | string | 是 | 否 | 应用的appId |
|fingerprint| string | 是 | 否 | 应用包的指纹信息 |
# DispatchInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
免安装结构体和接口版本信息类,通过接口[freeInstall.getDispatchInfo](js-apis-freeInstall.md)获取。
## DispatchInfo
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | ------ | ---- | ---- | ------------------------ |
| version | string | 是 | 否 | dispatchInfo结构体版本信息 |
| dispatchAPIVersion | string | 是 | 否 | 免安装接口版本信息 |
# ElementName
ElementName信息,通过接口[Context.getElementName](js-apis-Context.md)获取。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
ElementName信息,通过接口[Context.getElementName](js-apis-Context.md)获取。
## ElementName
**系统能力:** SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------------------- | ---------| ---- | ---- | ------------------------- |
......
# ExtensionAbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
ExtensionAbility信息,未做特殊说明的属性,均通过[getBundleInfo](js-apis-Bundle.md#bundlegetbundleinfo)获取,flag使用[GET_BUNDLE_DEFAULT](js-apis-Bundle.md#bundleflag)获取
## ExtensionAbilityInfo
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------- | ---------------------------------------------------- | ---- | ---- | -------------------------------------------------- |
| bundleName | string | 是 | 否 | 应用包名 |
| moduleName | string | 是 | 否 | ExtensionAbility所属的HAP包的名称 |
| name | string | 是 | 否 | ExtensionAbility名称 |
| labelId | number | 是 | 否 | ExtensionAbility的标签id |
| descriptionId | number | 是 | 否 | ExtensionAbility的描述id |
| iconId | number | 是 | 否 | ExtensionAbility的图标id |
| isVisible | boolean | 是 | 否 | 判断ExtensionAbility是否可以被其他应用调用 |
| extensionAbilityType | bundle.ExtensionAbilityType | 是 | 否 | ExtensionAbility类型 |
| permissions | Array\<string> | 是 | 否 | 被其他应用ExtensionAbility调用时需要申请的权限集合 |
| applicationInfo | [ApplicationInfo](js-apis-bundle-ApplicationInfo.md) | 是 | 否 | 应用程序的配置信息 |
| metadata | Array\<[Metadata](js-apis-bundle-Metadata.md)> | 是 | 否 | ExtensionAbility的元信息 |
| enabled | boolean | 是 | 否 | ExtensionAbility是否可用 |
| readPermission | string | 是 | 否 | 读取ExtensionAbility数据所需的权限 |
| writePermission | string | 是 | 否 | 向ExtensionAbility写数据所需的权限 |
\ No newline at end of file
# ExtensionAbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
ExtensionAbility信息,未做特殊说明的属性,均通过[getBundleInfo](js-apis-bundleManager.md)获取,flag使用[GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY](js-apis-bundleManager.md#bundleflag)获取
## ExtensionAbilityInfo
**系统能力**: SystemCapability.BundleManager.BundleFramework.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------- | ----------------------------------------------------------- | ---- | ---- | -------------------------------------------------- |
| bundleName | string | 是 | 否 | 应用包名 |
| moduleName | string | 是 | 否 | ExtensionAbility所属的HAP包的名称 |
| name | string | 是 | 否 | ExtensionAbility名称 |
| labelId | number | 是 | 否 | ExtensionAbility的标签资源id |
| descriptionId | number | 是 | 否 | ExtensionAbility的描述资源id |
| iconId | number | 是 | 否 | ExtensionAbility的图标资源id |
| isVisible | boolean | 是 | 否 | 判断ExtensionAbility是否可以被其他应用调用 |
| extensionAbilityType | bundle.ExtensionAbilityType | 是 | 否 | ExtensionAbility类型 |
| permissions | Array\<string> | 是 | 否 | 被其他应用ExtensionAbility调用时需要申请的权限集合 |
| applicationInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 是 | 否 | 应用程序的配置信息 |
| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | 是 | 否 | ExtensionAbility的元信息 |
| enabled | boolean | 是 | 否 | ExtensionAbility是否可用 |
| readPermission | string | 是 | 否 | 读取ExtensionAbility数据所需的权限 |
| writePermission | string | 是 | 否 | 向ExtensionAbility写数据所需的权限 |
\ No newline at end of file
# HapModuleInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## HapModuleInfo
**系统能力**: SystemCapability.BundleManager.BundleFramework.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | -------------------- |
| name | string | 是 | 否 | 模块名称 |
| icon | string | 是 | 否 | 模块图标 |
| iconId | number | 是 | 否 | 模块图标资源id |
| label | string | 是 | 否 | 模块标签 |
| labelId | number | 是 | 否 | 模块标签资源id |
| description | string | 是 | 否 | 模块描述信息 |
| descriptionId | number | 是 | 否 | 描述信息资源id |
| mainElementName | string | 是 | 否 | 入口ability信息 |
| abilitiesInfo | Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 是 | 否 | Ability信息 |
| extensionAbilitiesInfo | Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)> | 是 | 否 | extensionAbility信息 |
| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | 是 | 否 | Ability的元信息 |
| deviceTypes | Array\<string> | 是 | 否 | 支持运行的设备类型 |
| installationFree | boolean | 是 | 否 | 是否支持免安装 |
| hashValue | string | 是 | 否 | Module的Hash值 |
| moduleSourceDir | string | 是 | 否 | Module的路径|
# LauncherAbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## LauncherAbilityInfo
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher。
**系统:** 系统接口,三方应用不支持调用。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------ |
| applicationInfo | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md) | 是 | 否 | launcher ability的应用程序的配置信息 |
| elementName | [ElementName](js-apis-bundleManager-elementName.md) | 是 | 否 | launcher ability的ElementName信息 |
| labelId | number | 是 | 否 | launcher ability的标签ID |
| iconId | number | 是 | 否 | launcher ability的图标ID |
| userId | number | 是 | 否 | launcher ability的用户ID |
| installTime | number | 是 | 否 | launcher ability的安装时间 |
\ No newline at end of file
# Metadata
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
元数据信息
## Metadata
**系统能力**: 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ---------- |
| name | string | 是 | 是 | 元数据名称 |
| value | string | 是 | 是 | 元数据值 |
# Metadata
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
描述的module、ability、extensionAbility配置信息,标签值为数组类型,该标签下的配置只对当前module、或者ability、或者extensionAbility生效。
## Metadata
**系统能力**: SystemCapability.BundleManager.BundleFramework.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ---------- |
| name | string | 是 | 是 | 元数据名称 |
| value | string | 是 | 是 | 元数据值 |
| resource | string | 是 | 是 | 元数据资源 |
\ No newline at end of file
# PackInfo
> **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
应用包信息,通过接口[bundle.getBundlePackInfo](js-apis-Bundle.md)获取。
## BundlePackFlag
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
| 名称 | 值 | 说明 |
| ------------------ | ---------- | ---------------------------------- |
| GET_PACK_INFO_ALL | 0x00000000 | 获取应用包pack.info的所有信息。 |
| GET_PACKAGES | 0x00000001 | 获取应用包pack.info的package信息。 |
| GET_BUNDLE_SUMMARY | 0x00000002 | 获取应用包pack.info的bundle摘要。 |
| GET_MODULE_SUMMARY | 0x00000004 | 获取应用包pack.info的module摘要。 |
应用包信息,通过接口[freeInstall.getBundlePackInfo](js-apis-freeInstall.md)获取。
## BundlePackInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | --------------------------------------- | ---- | ---- | ----------------------------- |
| packages | Array\<[PackageConfig](#packageconfig)> | 是 | 否 | 获取pack.info的包信息。 |
| summary | [PackageSummary](#packagesummary) | 是 | 否 | 获取pack.info中的包摘要信息。 |
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | --------------------------------------- | ---- | ---- | ------------------------- |
| packages | Array\<[PackageConfig](#packageconfig)> | 是 | 否 | pack.info的包信息。 |
| summary | [PackageSummary](#packagesummary) | 是 | 否 | pack.info中的包摘要信息。 |
## PackageConfig
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ |
| deviceType | Array\<string> | 是 | 否 | 包支持的设备类型。 |
| deviceTypes | Array\<string> | 是 | 否 | 包支持的设备类型。 |
| name | string | 是 | 否 | 包的名称。 |
| moduleType | string | 是 | 否 | 包的module类型。 |
| deliveryWithInstall | boolean | 是 | 否 | 是否在用户主动安装的时候安装,true表示主动安装时安装,false表示主动安装时不安装。 |
## PackageSummary
## PackageSummary
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------- | --------------------------------------------- | ---- | ---- | -------------------- |
......@@ -55,9 +44,9 @@
## BundleConfigInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------- | ------------------- | ---- | ---- | ---------------------------------- |
......@@ -66,60 +55,61 @@
## ModuleConfigInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------ | ------------------------------------------------- | ---- | ---- | ---------------------------------- |
| mainAbility | string | 是 | 否 | 应用主ability的名称。 |
| apiVersion | [ApiVersion](#apiversion) | 是 | 否 | module的api版本。 |
| deviceType | Array\<string> | 是 | 否 | module的设备类型。 |
| distro | [ModuleDistroInfo](#moduledistroinfo) | 是 | 否 | module发行版信息。 |
| abilities | Array\<[ModuleAbilityInfo](#moduleabilityinfo)> | 是 | 否 | module的元能力信息。 |
| extensionAbilities | Array\<[ExtensionAbilities](#extensionabilities)> | 是 | 否 | 描述extensionAbilities的配置信息。 |
| abilities | Array\<[ModuleAbilityInfo](#moduleabilityinfo)> | 是 | 否 | module包含的ability组件信息。 |
| extensionAbilities | Array\<[ExtensionAbilities](#extensionability)> | 是 | 否 | 描述extensionAbilities的配置信息。 |
## ModuleDistroInfo
## ModuleDistroInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------- | ------- | ---- | ---- | ------------------------------------------------------------ |
| mainAbility | string | 是 | 否 | 主要能力的名称。 |
| deliveryWithInstall | boolean | 是 | 否 | 是否在用户主动安装的时候安装,true表示主动安装时安装,false表示主动安装时不安装。 |
| installationFree | boolean | 是 | 否 | 表示当前HAP是否支持免安装特性。true表示支持免安装特性,且符合免安装约束,false表示不支持免安装特性。 |
| moduleName | string | 是 | 否 | module名称。 |
| moduleType | string | 是 | 否 | module类型。 |
## ModuleAbilityInfo
## ModuleAbilityInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| name | string | 是 | 否 | 表示当前ability的逻辑名,该名称在整个应用要唯一。 |
| name | string | 是 | 否 | 表示当前ability的名称,该名称在整个应用要唯一。 |
| label | string | 是 | 否 | 表示ability对用户显示的名称,标签值配置为该名称的资源索引以支持多语言。 |
| visible | boolean | 是 | 否 | 表示ability是否可以被其它应用调用,true表示可以被其它应用调用,false表示不可以被其它应用调用。 |
| forms | Array\<[AbilityFormInfo](#abilityforminfo)> | 是 | 否 | 卡片信息。 |
## ExtensionAbilities
## ExtensionAbility
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| name | string | 是 | 否 | 表示该ExtensionAbility的名称 |
| forms | Array\<[AbilityFormInfo](#abilityforminfo)> | 是 | 否 | 表示form卡片的规格,form卡片是可以嵌入桌面上并接收定时更新的应用简要视图。 |
## AbilityFormInfo
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ |
......@@ -128,29 +118,29 @@
| updateEnabled | boolean | 是 | 否 | 表示该卡片是否支持定时刷新,true表示卡片支持定时刷新,false表示不支持。 |
| scheduledUpdateTime | string | 是 | 否 | 表示卡片定点刷新的时间,采用24小时计数,精确到分钟。 |
| updateDuration | number | 是 | 否 | 表示卡片定时刷新的更新频率,单位为30分钟,取值为30的倍数值。卡片的最高频率为每30分钟刷新一次,和定点刷新二选一,二者都配置的情况下,定时优先。 |
| supportDimensions | Array\<number> | 是 | 否 | 表示卡片外观规格,取值为“1\*2”,“2\*2”,“2\*4”,“4\*4”,定义卡片时至少要指定一个卡片规格。 |
| defaultDimension | number | 是 | 否 | 表示卡片默认外观规格,取值必须在supportDimensions配置的列表中。 |
| supportDimensions | Array\<string> | 是 | 否 | 表示卡片外观规格,取值为“1\*2”,“2\*2”,“2\*4”,“4\*4”,定义卡片时至少要指定一个卡片规格。 |
| defaultDimension | string | 是 | 否 | 表示卡片默认外观规格,取值必须在supportDimensions配置的列表中。 |
## ApiVersion
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 系统接口,三方应用不支持调用。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | ------ | ---- | ---- | -------------------- |
| releaseType | string | 是 | 否 | 版本的名称。 |
| compatible | number | 是 | 否 | 版本的最小兼容代码。 |
| target | numbe | 是 | 否 | 目标版本号。 |
| target | number | 是 | 否 | 目标版本号。 |
## Version
**系统API:** 此接口为系统接口,三方应用不支持调用
**系统接口:** 此接口为系统接口。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
**系统能力:** SystemCapability.BundleManager.BundleFrameWork.FreeInstall
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------ | ------ | ---- | ---- | ------------------------------------------------------------ |
| minCompatibleVersionCode | number | 是 | 否 | 能够兼容的最低历史版本号,用于跨设备兼容性判断。该值为32位整型数值,非负整数。 |
| name | string | 是 | 否 | 标识版本号的文字描述,用于向用户展示。 |
| code | number | 是 | 否 | 标识应用的版本号,值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。 |
\ No newline at end of file
| code | number | 是 | 否 | 标识应用的版本号,值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。 |
# PermissionDef
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
配置文件中定义的权限详细信息,通过接口[bundleManager.getPermissionDef](js-apis-bundleManager.md)获取。配置文件中定义的权限详细信息。
## **PermissionDef**
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**系统API:** 系统接口,三方应用不支持调用
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------- | ------ | ---- | ---- | -------------- |
| permissionName | string | 是 | 否 | 用户权限名称 |
| grantMode | number | 是 | 否 | 权限的授予模式 |
| labelId | number | 是 | 否 | 权限的标签ID |
| descriptionId | number | 是 | 否 | 描述权限的ID |
\ No newline at end of file
# RemoteAbilityInfo
包含远程的ability信息,通过接口[distributedBundle.getRemoteAbilityInfo](js-apis-distributedBundle.md)获取。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口为系统接口
包含远程的ability信息,通过接口[distributedBundle.getRemoteAbilityInfo](js-apis-distributedBundle.md)获取
## RemoteAbilityInfo
......
# ShortcutInfo
应用配置文件中定义的快捷方式信息,FA模型配置在[config.json](../../quick-start/package-structure.md)文件中进行配置,Stage模型配置参考[shortcuts对象内部结构](../../quick-start/stage-structure.md#shortcuts对象内部结构)
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
模块接口为系统接口。
应用配置文件中定义的快捷方式信息,FA模型配置在[config.json](../../quick-start/package-structure.md)文件中进行配置,Stage模型配置参考[shortcuts对象内部结构](../../quick-start/stage-structure.md#shortcuts对象内部结构)
## ShortcutWant
......
# Bundle.bundleMonitor模块(JS端sdk接口)
本模块提供监听应用安装,卸载,更新的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```javascript
import bundleMonitor from '@ohos.bundle.bundleMonitor';
```
## 权限列表
| 权限 | 权限等级 | 描述 |
| ------------------------------------ | ----------- | ------------------------------ |
| ohos.permission.LISTEN_BUNDLE_CHANGE | system_core | 可监听应用的安装,卸载,更新。 |
权限等级参考[权限等级说明]([zh-cn/application-dev/security/accesstoken-overview.md · OpenHarmony/docs - Gitee.com](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/accesstoken-overview.md))
## BundleChangeInfo
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
系统接口:为系统接口,三方应用不可调用
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------- | ------ | ---- | ---- | -------------------------- |
| bundleName | string | 是 | 否 | 应用状态发生变化的应用包名 |
| userId | number | 是 | 否 | 应用状态发生变化的用户id |
## bundleMonitor.on
on(type: BundleChangedEvent, callback: Callback\<BundleChangedInfo>): void;
注册监听应用的安装,卸载,更新。
**需要权限:**ohos.permission.LISTEN_BUNDLE_CHANGE
**系统接口:**此接口为系统接口
**系统能力:**SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ---------------------------- | -------- | ---- | ------------------ |
| BundleChangedEvent | string | 是 | 注册监听的事件类型 |
| Callback\<BundleChangedInfo> | callback | 是 | 注册监听的回调函数 |
**相关错误码**
| 错误码 | 错误信息(此处仅提供错误抛出的关键信息) |
| ------ | ---------------------------------------- |
| 201 | Permission denied. |
| 401 | The parameter check failed. |
**示例:**
```js
import bundleMonitor from '@ohos.bundle.bundleMonitor';
try {
bundleMonitor.on('add', (bundleChangeInfo) => {
console.info(`bundleName : ${bundleChangeInfo.bundleName} userId : ${bundleChangeInfo.userId}`);
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
## bundleMonitor.off
off(type: BundleChangedEvent, callback?: Callback\<BundleChangedInfo>): void;
注销监听应用的安装,卸载,更新。
**需要权限:**ohos.permission.LISTEN_BUNDLE_CHANGE
**系统接口:**此接口为系统接口
**系统能力:**SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ---------------------------- | -------- | ---- | ---------------------------------------------------------- |
| BundleChangedEvent | string | 是 | 注销监听的事件类型 |
| Callback\<BundleChangedInfo> | callback | 否 | 注销监听的回调函数,当为空时表示注销当前事件的所有callback |
**相关错误码**
| 错误码 | 错误信息(此处仅提供错误抛出的关键信息) |
| ------ | ---------------------------------------- |
| 201 | Permission denied. |
| 401 | The parameter check failed. |
**示例:**
```js
import bundleMonitor from '@ohos.bundle.bundleMonitor';
try {
bundleMonitor.off('add');
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
......@@ -51,6 +51,7 @@ isDefaultApplication(type: string): Promise\<boolean>
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
.then((data) => {
console.info('Operation successful. IsDefaultApplication ? ' + JSON.stringify(data));
......@@ -77,6 +78,7 @@ isDefaultApplication(type: string, callback: AsyncCallback\<boolean>): void
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.isDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
......@@ -122,6 +124,7 @@ getDefaultApplication(type: string, userId?: number): Promise\<BundleInfo>
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
.then((data) => {
console.info('Operation successful. bundleInfo: ' + JSON.stringify(data));
......@@ -170,7 +173,9 @@ getDefaultApplication(type: string, userId: number, callback: AsyncCallback\<Bun
**示例:**
```js
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, 100, (err, data) => {
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -178,7 +183,7 @@ defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, 100,
console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
});
defaultAppMgr.getDefaultApplication("image/png", 100, (err, data) => {
defaultAppMgr.getDefaultApplication("image/png", userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -217,6 +222,7 @@ getDefaultApplication(type: string, callback: AsyncCallback\<BundleInfo>) : void
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
......@@ -224,7 +230,6 @@ defaultAppMgr.getDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err,
}
console.info('Operation successful. bundleInfo:' + JSON.stringify(data));
});
defaultAppMgr.getDefaultApplication("image/png", (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
......@@ -236,13 +241,19 @@ defaultAppMgr.getDefaultApplication("image/png", (err, data) => {
## defaultAppMgr.setDefaultApplication
setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\<void>
setDefaultApplication(type: string, elementName: ElementName, userId?: number): Promise\<**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | --------------------------- |
| Promise\<[BundleInfo](js-apis-bundleManager-bundleInfo.md)> | Promise对象,返回BundleInfo |
>
以异步方法根据系统已定义的应用类型或者符合媒体类型格式(type/subtype)的文件类型设置默认应用,使用Promise形式返回结果。
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -254,6 +265,12 @@ setDefaultApplication(type: string, elementName: ElementName, userId?: number):
| elementName | [ElementName](js-apis-bundle-ElementName.md) | 是 | 要设置为默认应用的组件信息。 |
| userId | number | 否 | 用户ID。默认值:调用方所在用户。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ---------------------------------- |
| Promise\<void> | Promise对象,无返回结果的Promise。 |
**错误码:**
| 错误码ID | 错误码信息 |
......@@ -265,15 +282,25 @@ setDefaultApplication(type: string, elementName: ElementName, userId?: number):
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
bundleName: "com.test.app",
moduleName: "module01",
abilityName: "MainAbility"
})
.then((data) => {
}).then((data) => {
console.info('Operation successful.');
})
.catch((error) => {
}).catch((error) => {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
let userId = 100;
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
bundleName: "com.test.app",
moduleName: "module01",
abilityName: "MainAbility"
}, userId).then((data) => {
console.info('Operation successful.');
}).catch((error) => {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
......@@ -281,11 +308,9 @@ defaultAppMgr.setDefaultApplication("image/png", {
bundleName: "com.test.app",
moduleName: "module01",
abilityName: "MainAbility"
})
.then((data) => {
}, userId).then((data) => {
console.info('Operation successful.');
})
.catch((error) => {
}).catch((error) => {
console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
```
......@@ -298,7 +323,7 @@ setDefaultApplication(type: string, elementName: ElementName, userId: number, ca
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -322,11 +347,13 @@ setDefaultApplication(type: string, elementName: ElementName, userId: number, ca
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
bundleName: "com.test.app",
moduleName: "module01",
abilityName: "MainAbility"
}, 100, (err, data) => {
}, userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -338,7 +365,7 @@ defaultAppMgr.setDefaultApplication("image/png", {
bundleName: "com.test.app",
moduleName: "module01",
abilityName: "MainAbility"
}, 100, (err, data) => {
}, userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -355,7 +382,7 @@ setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCal
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -378,6 +405,7 @@ setDefaultApplication(type: string, elementName: ElementName, callback: AsyncCal
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.setDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, {
bundleName: "com.test.app",
moduleName: "module01",
......@@ -411,7 +439,7 @@ resetDefaultApplication(type: string, userId?: number): Promise\<void>
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -432,7 +460,9 @@ resetDefaultApplication(type: string, userId?: number): Promise\<void>
**示例:**
```js
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId)
.then((data) => {
console.info('Operation successful.');
})
......@@ -440,7 +470,7 @@ defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER)
console.error('Operation failed. Cause: ' + JSON.stringify(error));
});
defaultAppMgr.resetDefaultApplication("image/png")
defaultAppMgr.resetDefaultApplication("image/png", userId)
.then((data) => {
console.info('Operation successful.');
})
......@@ -457,7 +487,7 @@ resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\<v
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -479,7 +509,9 @@ resetDefaultApplication(type: string, userId: number, callback: AsyncCallback\<v
**示例:**
```js
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, 100, (err, data) => {
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
let userId = 100;
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -487,7 +519,7 @@ defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, 100
console.info('Operation successful.');
});
defaultAppMgr.resetDefaultApplication("image/png", 100, (err, data) => {
defaultAppMgr.resetDefaultApplication("image/png", userId, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
return;
......@@ -504,7 +536,7 @@ resetDefaultApplication(type: string, callback: AsyncCallback\<void>) : void;
**需要权限:** ohos.permission.SET_DEFAULT_APPLICATION
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager.defaultAppManager
**系统能力:** SystemCapability.BundleManager.BundleFramework.DefaultAppManager
**系统API:** 此接口为系统接口,三方应用不支持调用
......@@ -525,6 +557,7 @@ resetDefaultApplication(type: string, callback: AsyncCallback\<void>) : void;
**示例:**
```js
import defaultAppMgr from '@ohos.bundle.defaultAppManager';
defaultAppMgr.resetDefaultApplication(defaultAppMgr.ApplicationType.BROWSER, (err, data) => {
if (err) {
console.error('Operation failed. Cause: ' + JSON.stringify(err));
......
# Bundle.freeInstall模块(JS端SDK接口)
本模块提供免安装相关的设置和查询能力,支持BundlePackInfo、DispatchInfo等信息的查询
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口为系统接口。
## 导入模块
```js
import freeInstall from '@ohos.bundle.freeInstall';
```
## 权限列表
| 权限 | 权限等级 | 描述 |
| ------------------------------------------ | ------------ | ------------------ |
| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息 |
| ohos.permission.INSTALL_BUNDLE | system_core | 可安装、卸载应用 |
权限等级参考[权限等级说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/accesstoken-overview.md#%E6%9D%83%E9%99%90%E7%AD%89%E7%BA%A7%E8%AF%B4%E6%98%8E)
## UpgradeFlag
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
| 名称 | 值 | 说明 |
| ----------------------------- | ---- | ---------------- |
| NOT_UPGRADE | 0 | 模块无需升级 |
| SINGLE_UPGRADE | 1 | 单个模块需要升级 |
| RELATION_UPGRADE | 2 | 关系模块需要升级 |
## BundlePackFlag
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
| 名称 | 值 | 说明 |
| ------------------ | ---------- | ---------------------------------- |
| GET_PACK_INFO_ALL | 0x00000000 | 获取应用包pack.info的所有信息。 |
| GET_PACKAGES | 0x00000001 | 获取应用包pack.info的package信息。 |
| GET_BUNDLE_SUMMARY | 0x00000002 | 获取应用包pack.info的bundle摘要信息。 |
| GET_MODULE_SUMMARY | 0x00000004 | 获取应用包pack.info的module摘要信息。 |
## freeInstall.setHapModuleUpgradeFlag
setHapModuleUpgradeFlag(bundleName: string, moduleName: string, upgradeFlag: UpgradeFlag, callback: AsyncCallback\<void>):void;
设置指定模块是否升级。使用callback异步回调。
**需要权限:** ohos.permission.INSTALL_BUNDLE
**系统接口:** 此接口为系统接口。
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----------- | --------------------------- | ---- | ---------------------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| moduleName | string | 是 | 应用程序模块名称。 |
| upgradeFlag | [UpgradeFlag](#upgradeflag) | 是 | 仅供内部系统使用标志位 |
| callback | AsyncCallback\<void> | 是 | 回调函数。当函数调用成功,err为null,否则为错误对象 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
| 17700002 | The specified module name is not found. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let upgradeFlag = freeInstall.UpgradeFlag.SINGLE_UPGRADE;
try {
freeInstall.setHapModuleUpgradeFlag(bundleName, moduleName, upgradeFlag, err => {
if (err) {
console.error('Operation failed:' + JSON.stringify(err));
} else {
console.info('Operation succeed');
}
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## setHapModuleUpgradeFlag
setHapModuleUpgradeFlag(bundleName: string, moduleName: string, upgradeFlag: UpgradeFlag): Promise\<void>;
设置指定模块是否升级。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.INSTALL_BUNDLE
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ----------- | --------------------------- | ---- | ---------------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| moduleName | string | 是 | 应用程序模块名称。 |
| upgradeFlag | [UpgradeFlag](#upgradeflag) | 是 | 仅供内部系统使用标志位 |
**返回值:**
| 类型 | 说明 |
| ------------- | ------------------------------------ |
| Promise\<void> | Promise对象。无返回结果的Promise对象 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
| 17700002 | The specified module name is not found. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
let upgradeFlag = freeInstall.UpgradeFlag.SINGLE_UPGRADE;
try {
freeInstall.setHapModuleUpgradeFlag(bundleName, moduleName, upgradeFlag).then(() => {
console.info('Operation succeed')
}).catch(err => {
console.error('Operation failed:' + JSON.stringify(err));
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## isHapModuleRemovable
isHapModuleRemovable(bundleName: string, moduleName: string, callback: AsyncCallback\<boolean>): void;
查询指定模块是否可以被移除。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------- | ---- | --------------------------------------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| moduleName | string | 是 | 应用程序模块名称。 |
| callback | AsyncCallback\<boolean> | 是 | 回调函数。返回true表示可以移除;返回false表示不可移除。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
| 17700002 | The specified module name is not found. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
try {
freeInstall.isHapModuleRemovable(bundleName, moduleName, (err, data) => {
if (err) {
console.error('Operation failed:' + JSON.stringify(err));
} else {
console.info('Operation succeed:' + JSON.stringify(data));
}
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## isHapModuleRemovable
isHapModuleRemovable(bundleName: string, moduleName: string): Promise\<boolean>;
查询指定模块是否可以被移除。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | ------------------ |
| bundleName | string | 是 | 应用程序包名称。 |
| moduleName | string | 是 | 应用程序模块名称。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ---------------------------- |
| Promise\<boolean> | Promise对象。返回true表示可以移除;返回false表示不可移除。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
| 17700002 | The specified module name is not found. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let moduleName = 'entry';
try {
freeInstall.isHapModuleRemovable(bundleName, moduleName).then(data => {
console.info('Operation succeed:' + JSON.stringify(data));
}).catch(err => {
console.error('Operation failed:' + JSON.stringify(err));
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## getBundlePackInfo
getBundlePackInfo(bundleName: string, bundlePackFlag : BundlePackFlag, callback: AsyncCallback\<BundlePackInfo>): void;
基于bundleName和bundlePackFlag来获取bundlePackInfo。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ------------------------------------------------------------ | ---- | ---------------------------------------------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| bundlePackFlag | [BundlePackFlag](#bundlepackflag) | 是 | 指示要查询的应用包标志 |
| callback | AsyncCallback<[BundlePackInfo](js-apis-bundleManager-packInfo.md)> | 是 | 回调函数。当函数调用成功,err为null,data为获取到的BundlePackInfo信息。否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let upgradeFlag = freeInstall.UpgradeFlag.GET_PACK_INFO_ALL;
try {
freeInstall.getBundlePackInfo(bundleName, upgradeFlag, (err, data) => {
if (err) {
console.error('Operation failed:' + JSON.stringify(err));
} else {
console.info('Operation succeed:' + JSON.stringify(data));
}
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## getBundlePackInfo
getBundlePackInfo(bundleName: string, bundlePackFlag : BundlePackFlag): Promise\<BundlePackInfo>;
基于bundleName和bundleFlag来获取bundlePackInfo。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ------------------------------------------------- | ---- | ---------------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| bundlePackFlag | [BundlePackFlag](#bundlepackflag) | 是 | 指示要查询的应用包标志 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------------------------- | ----------------------------------- |
| Promise<[BundlePackInfo](js-apis-bundleManager-packInfo.md)> | Promise对象,返回BundlePackInfo信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 401 | The parameter check failed. |
| 801 | Capability not supported. |
| 17700001 | The specified bundle name is not found |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
let bundleName = 'com.example.myapplication';
let upgradeFlag = freeInstall.UpgradeFlag.GET_PACK_INFO_ALL;
try {
freeInstall.getBundlePackInfo(bundleName, upgradeFlag).then(data => {
console.info('Operation succeed:' + JSON.stringify(data));
}).catch(err => {
console.error('Operation failed:' + JSON.stringify(err));
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## getDispatchInfo
getDispatchInfo(callback: AsyncCallback\<DispatchInfo>): void;
获取有关dispatch版本的信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback<[DispatchInfo](js-apis-bundleManager-dispatchInfo.md)> | 是 | 回调函数。当函数调用成功,err为null,data为获取到的[DispatchInfo](js-apis-bundleManager-dispatchInfo.md)信息。否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 801 | Capability not supported. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
try {
freeInstall.getDispatchInfo((err, data) => {
if (err) {
console.error('Operation failed:' + JSON.stringify(err));
} else {
console.info('Operation succeed:' + JSON.stringify(data));
}
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
## getDispatchInfo
getDispatchInfo(): Promise\<DispatchInfo>;
获取有关dispatch版本的信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:** SystemCapability.BundleManager.BundleFramework.FreeInstall
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------ | ------------------------------------------------------------ |
| Promise<[DispatchInfo](js-apis-bundleManager-dispatchInfo.md)> | Promise对象,返回[DispatchInfo](js-apis-bundleManager-dispatchInfo.md)信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误新息(此处仅提供错误抛出的关键信息) |
|---------------|-------------------------|
| 201 | Permission denied.|
| 801 | Capability not supported. |
**示例:**
```js
import freeInstall from '@ohos.bundle.freeInstall';
try {
freeInstall.getDispatchInfo().then(data => {
console.info('Operation succeed:' + JSON.stringify(data));
}).catch(err => {
console.error('Operation failed:' + JSON.stringify(err));
});
} catch (err) {
console.error('Operation failed:' + JSON.stringify(err));
}
```
# BundleInstaller
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
在设备上安装、升级和卸载应用
## 导入模块
```js
import installer from '@ohos.bundle.installer';
```
## 权限列表
| 权限 | 权限等级 | 描述 |
| ------------------------------------------ | ------------ | ------------------ |
| ohos.permission.INSTALL_BUNDLE | system_core | 可安装、卸载应用 |
权限等级参考[权限等级说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/accesstoken-overview.md#%E6%9D%83%E9%99%90%E7%AD%89%E7%BA%A7%E8%AF%B4%E6%98%8E)
## BundleInstaller.getBundleInstaller
getBundleInstaller(callback: AsyncCallback\<BundleInstaller>): void;
获取BundleInstaller对象,使用callback形式返回结果。
**系统接口:** 此接口为系统接口,三方应用不支持调用
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback\<[BundleInstaller](js-apis-installer.md#BundleInstaller)> | 是 | 回调函数,获取BundleInstaller对象,err为undefined,data为获取到的BundleInstaller对象;否则为错误对象 |
**错误码:**
错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
**示例:**
```ts
import installer from '@ohos.bundle.installer';
try {
installer.getBundleInstaller((err, data) => {
if (err) {
console.error('getBundleInstaller failed:' + err.message);
} else {
console.info('getBundleInstaller successfully');
}
});
} catch (error) {
console.error('getBundleInstaller failed:' + error.message);
}
```
## BundleInstaller.getBundleInstaller
getBundleInstaller(): Promise\<BundleInstaller>;
获取BundleInstaller对象,使用callback形式返回结果。
**系统接口:** 此接口为系统接口,三方应用不支持调用
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ------------------------------------ |
| Promise\<[BundleInstaller](js-apis-installer.md#BundleInstaller)> | Promise对象,返回BundleInstaller对象 |
**错误码:**
错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
**示例:**
```ts
import installer from '@ohos.bundle.installer';
try {
installer.getBundleInstaller().then((data) => {
console.info('getBundleInstaller successfully.');
}).catch((error) => {
console.error('getBundleInstaller failed. Cause: ' + error.message);
});
} catch (error) {
console.error('getBundleInstaller failed. Cause: ' + error.message);
}
```
## BundleInstaller.install
install(hapFilePaths: Array&lt;string&gt;, installParam: InstallParam, callback: AsyncCallback&lt;void&gt;): void;
以异步方法安装应用,使用callback形式返回结果。
**系统接口:** 此接口为系统接口,三方应用不支持调用
**需要权限:** ohos.permission.INSTALL_BUNDLE
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| --------------- | ---------------------------------------------------- | ---- | ------------------------------------------------------------ |
| hapFilePaths | Array&lt;string&gt; | 是 | 存储应用程序包的路径。路径应该是当前应用程序中存放HAP包的数据目录。当传入的路径是一个目录时, 该目录下只能放同一个应用的HAP包,且这些HAP包的签名需要保持一致 |
| installParam | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,安装应用成功,err为undefined,否则为错误对象 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误码信息 |
| -------- | ---------------------------------------------------------------|
| 17700004 | The specified userId is not existed |
| 17700010 | To parse file of config.json or module.json failed |
| 17700011 | To verify signature failed |
| 17700012 | Invalid hap file path or too large file size |
| 17700015 | Multiple haps have inconsistent configured information |
| 17700016 | No disk space left for installation |
| 17700017 | Downgrade installation is prohibited |
| 17700101 | The system service is excepted |
| 17700103 | I/O operation is failed |
**示例:**
```ts
import installer from '@ohos.bundle.installer';
let hapFilePaths = ['/data/storage/el2/base/haps/entry/files/'];
let installParam = {
userId: 100,
isKeepData: false,
installFlag: 1,
};
try {
installer.getBundleInstaller().then(data => {
data.install(hapFilePaths, installParam, err => {
if (err) {
console.error('install failed:' + err.message);
} else {
console.info('install successfully.');
}
});
}).catch(error => {
console.error('getBundleInstaller failed. Cause: ' + error.message);
});
} catch (error) {
console.error('getBundleInstaller failed. Cause: ' + error.message);
}
```
## BundleInstaller.uninstall
uninstall(bundleName: string, installParam: InstallParam, callback: AsyncCallback&lt;void&gt;): void;
以异步方法卸载应用,使用callback形式返回结果。
**系统接口:** 此接口为系统接口,三方应用不支持调用
**需要权限:** ohos.permission.INSTALL_BUNDLE
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
| bundleName | string | 是 | 包名 |
| installParam | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,卸载应用成功,err为undefined,否则为错误对象 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误码信息 |
| -------- | ---------------------------------------------------------------------------|
| 17700004 | The specified userId is not existed |
| 17700020 | The specified bundle is pre-installed bundle which cannot be uninstalled |
| 17700101 | The system service is excepted |
**示例:**
```ts
import installer from '@ohos.bundle.installer';
let bundleName = 'com.ohos.demo';
let installParam = {
userId: 100,
isKeepData: false,
installFlag: 1
};
try {
installer.getBundleInstaller().then(data => {
data.uninstall(bundleName, installParam, err => {
if (err) {
console.error('uninstall failed:' + err.message);
} else {
console.info('uninstall successfully.');
}
});
}).catch(error => {
console.error('getBundleInstaller failed. Cause: ' + error.message);
});
} catch (error) {
console.error('getBundleInstaller failed. Cause: ' + error.message);
}
```
## BundleInstaller.recover
recover(bundleName: string, installParam: InstallParam, callback: AsyncCallback&lt;void&gt;): void;
以异步方法回滚应用,使用callback形式返回结果。
**系统接口:** 此接口为系统接口,三方应用不支持调用
**需要权限:** ohos.permission.INSTALL_BUNDLE
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
| bundleName | string | 是 | 包名 |
| installParam | [InstallParam](#installparam) | 是 | 指定安装所需的其他参数 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,回滚应用成功,err为undefined,否则为错误对象 |
**错误码:**
以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errcode-bundle.md)
| 错误码ID | 错误码信息 |
| -------- | ---------------------------------------------------------------------------|
| 17700004 | The specified userId is not existed |
**示例:**
```ts
import installer from '@ohos.bundle.installer';
let bundleName = 'com.ohos.demo';
let installParam = {
userId: 100,
isKeepData: false,
installFlag: 1
};
try {
installer.getBundleInstaller().then(data => {
data.recover(bundleName, installParam, err => {
if (err) {
console.error('recover failed:' + err.message);
} else {
console.info('recover successfully.');
}
});
}).catch(error => {
console.error('getBundleInstaller failed. Cause: ' + error.message);
});
} catch (error) {
console.error('getBundleInstaller failed. Cause: ' + error.message);
}
```
## HashParam
应用程序安装卸载信息
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**系统接口:** 此接口为系统接口,三方应用不支持调用
| 名称 | 类型 | 说明 |
| ---------- | ------ | ---------------- |
| moduleName | string | 应用程序模块名称 |
| hashValue | string | 哈希值 |
## InstallParam
应用程序安装卸载信息
**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
**系统接口:** 此接口为系统接口,三方应用不支持调用
| 名称 | 类型 | 说明 |
| ------------------------------ | ------------------------------ | ------------------ |
| userId | number | 指示用户id,可使用[queryOsAccountLocalIdFromProcess](js-apis-osAccount.md#queryosaccountlocalidfromprocess9)获取当前进程所在用户 |
| installFlag | number | 指示安装标志,枚举值:0:应用初次安装,1:应用覆盖安装 |
| isKeepData | boolean | 卸载时是否保留数据目录 |
| hashParams | Array<[HashParam](#hashparam)> | 哈希值参数 |
| crowdtestDeadline| number | 测试包的被杀死时间 |
\ No newline at end of file
......@@ -29,7 +29,7 @@ The specified module name is not found.
2. 系统中对应的应用没有安装该模块。
**处理步骤**<br/>
1. 检查bundleName拼写是否正确。
1. 检查moduleName拼写是否正确。
2. 确认对应的应用是否安装该模块。
## 17700003 指定的abilityName不存在
......@@ -127,15 +127,16 @@ Failed to install the hap since the hap fails to be parsed.
2. 确认hap的配置文件满足[配置文件json格式](../../quick-start/stage-structure.md)
3. 检查DevEco Studio编译hap时是否有错误提示,缺省字段时会有相应的报错。
## 17700011 签名校验失败失败导致应用安装失败
## 17700011 签名校验失败导致应用安装失败
**错误信息**<br/>
Failed to install the hap since the hap signature fails to be verified.
**错误描述**<br/>
签名校验失败失败导致应用安装失败。
签名校验失败导致应用安装失败。
**可能原因**<br/>
1. hap包没有签名。
2. hap签名信息来源不可靠。
3. 升级的hap包与已安装的hap包签名信息不一致。
......@@ -146,49 +147,23 @@ Failed to install the hap since the hap signature fails to be verified.
2. 确认多个hap签名时使用的证书相同。
3. 确认升级的hap签名证书与已安装的hap相同。
## 17700012 安装包路径无效导致应用安装失败
## 17700012 安装包路径无效或者文件过大导致应用安装失败
**错误信息**<br/>
Failed to install the hap since the path of the hap is invalid.
Failed to install the hap since the path of the hap is invalid or too large size.
**错误描述**<br/>
安装包路径无效导致应用安装失败。
安装包路径无效或者文件过大导致应用安装失败。
**可能原因**<br/>
1. 输入错误,hap包的文件路径不存在。
2. hap包的路径无法访问。
3. hap包的大小超过最大限制4G。
**处理步骤**<br/>
1. 确认hap是否存在。
2. 查看hap的可执行权限,是否可读。
## 17700013 应用包过大导致应用安装失败
**错误信息**<br/>
Failed to install the hap since the hap is too large.
**错误描述**<br/>
应用包过大导致应用安装失败。
**可能原因**<br/>
hap包过大,一个hap不能超过4GB。
**处理步骤**<br/>
确认hap包的大小。
## 17700014 应用包后缀有误导致应用安装失败
**错误信息**<br/>
Failed to install the hap since the extension name of the hap is not .hap.
**错误描述**<br/>
应用包后缀有误导致应用安装失败。
**可能原因**<br/>
hap包的文件后缀名不为.hap。
**处理步骤**<br/>
确认hap包的后缀是否为.hap。
3. 查看hap包的大小是否超过4G。
## 17700015 多个hap包配置信息不同导致应用安装失败
......@@ -365,3 +340,32 @@ The distributed service is not running.
**处理步骤**<br/>
确认输入的ability和type拼写是否正确。
## 17700029 指定的ability被禁用
**错误信息**<br/>
The specified ability is disabled.
**错误描述**<br/>
指定的ability被禁用。
**可能原因**<br/>
指定的ability被禁用。
**处理步骤**<br/>
确认指定的ability是否被禁用,可以使用[bm工具](../../../readme/%E5%8C%85%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md#bm)命令查询对应的应用信息。
## 17700030 指定的应用不支持清除缓存文件
**错误信息**<br/>
The specified bundle does not support clearing cache files.
**错误描述**<br/>
指定的应用不支持清除缓存文件。
**可能原因**<br/>
指定的应用为系统应用且在签名证书中配置了不能清除数据(AllowAppDataNotCleared)的字段。
**处理步骤**<br/>
1.确认指定的应用是否为系统应用,可以使用[bm工具](../../../readme/%E5%8C%85%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md#bm)命令查询对应的应用信息,查看isSystemApp是否为true。
2.确认指定的应用是否配置了能清除缓存(AllowAppDataNotCleared)的字段,可以使用[bm工具](../../../readme/%E5%8C%85%E7%AE%A1%E7%90%86%E5%AD%90%E7%B3%BB%E7%BB%9F.md#bm)命令查询对应的应用信息,查看userDataClearable是否为true。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册