1# ApplicationInfo 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9应用程序信息,可以通过[bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)获取自身的应用程序信息,其中参数[bundleFlags](js-apis-bundleManager.md#bundleflag)至少包含GET_BUNDLE_INFO_WITH_APPLICATION。 10 11> **说明:** 12> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 13 14## 导入模块 15 16```ts 17import { bundleManager } from '@kit.AbilityKit'; 18``` 19 20## ApplicationInfo 21 22**系统能力**: SystemCapability.BundleManager.BundleFramework.Core 23 24| 名称 | 类型 | 只读 | 可选 | 说明 | 25| -------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ | 26| name | string | 是 | 否 | 应用程序的名称。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 27| description | string | 是 | 否 | 标识应用的描述信息,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的description字段。关于description的详细信息详见本表中的descriptionResource字段说明。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 28| descriptionId | number | 是 | 否 | 标识应用的描述信息的资源id,是编译构建时根据应用配置的description自动生成的资源id。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 29| enabled | boolean | 是 | 否 | 判断应用程序是否可以使用,取值为true表示可以使用,取值为false表示不可使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 30| label | string | 是 | 否 | 标识应用的名称,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的label字段。关于label的详细信息详见本表中的labelResource字段说明。从API version 20开始,如果是通过[bundleManager.getAbilityInfo](js-apis-bundleManager.md#bundlemanagergetabilityinfo20)获取ApplicationInfo信息,该字段为应用对用户显示的名称,而不是资源描述符。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 31| labelId | number | 是 | 否 | 标识应用名称的资源id,是编译构建时根据应用配置的label自动生成的资源id。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 32| icon | string | 是 | 否 | 应用程序的图标,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的icon字段。关于icon的详细信息详见本表中的iconResource字段说明。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 33| iconId | number | 是 | 否 | 应用程序图标的资源id,是编译构建时根据应用配置的icon自动生成的资源id。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 34| process | string | 是 | 否 | 应用程序的进程名称。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 35| permissions | Array\<string> | 是 | 否 | 访问应用程序所需的权限,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_APPLICATION和GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 36| codePath | string | 是 | 否 | 应用程序的安装目录。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 37| metadata<sup>(deprecated)<sup> | Map\<string, Array\<[Metadata](js-apis-bundleManager-metadata.md)>> | 是 | 否 | 应用程序的元信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_APPLICATION和GET_BUNDLE_INFO_WITH_METADATA获取。<br/>**说明:** 从API version 10开始不再维护,建议使用metadataArray替代。 | 38| metadataArray<sup>10+</sup> | Array\<[ModuleMetadata](#modulemetadata10)> | 是 | 否 | 应用程序的元信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_APPLICATION和GET_BUNDLE_INFO_WITH_METADATA获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 39| removable | boolean | 是 | 否 | 应用程序是否可以被移除,取值为true表示可以被移除,取值为false表示不可以被移除。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 40| accessTokenId | number | 是 | 否 | 应用程序的accessTokenId,应用的身份标识,在[程序访问控制校验接口](js-apis-abilityAccessCtrl.md#checkaccesstoken9)中使用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 41| uid | number | 是 | 否 | 应用程序的UID。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 42| iconResource | [Resource](../apis-localization-kit/js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的图标资源信息,包含了该资源信息的bundleName、moduleName 和 id,可以调用全球化的接口[getMediaContent](../apis-localization-kit/js-apis-resource-manager.md#getmediacontent9)来获取详细的资源数据信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 43| labelResource | [Resource](../apis-localization-kit/js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的名称资源信息,包含了该资源信息的bundleName、moduleName 和 id,可以调用全球化的接口[getMediaContent](../apis-localization-kit/js-apis-resource-manager.md#getmediacontent9)来获取详细的资源数据信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 44| descriptionResource | [Resource](../apis-localization-kit/js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的描述资源信息,包含了该资源信息的bundleName、moduleName 和 id,可以调用全球化的接口[getMediaContent](../apis-localization-kit/js-apis-resource-manager.md#getmediacontent9)来获取详细的资源数据信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 45| appDistributionType | string | 是 | 否 | 应用程序签名证书的分发类型,分为: <li>app_gallery:应用市场安装的应用。 <li> enterprise:企业内部应用,企业自行开发、仅限企业内部员工使用的应用,不通过应用市场等公开渠道发布,而是通过企业自己的渠道进行内部分发。<li> enterprise_mdm:企业[MDM应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)。<!--Del-->需要被激活[管理员特权](../apis-mdm-kit/js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin)后,才能安装普通企业应用。<!--DelEnd--> <li>enterprise_normal:普通企业应用,只能通过企业[MDM应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)安装。<li>os_integration:系统预置应用。<li>crowdtesting:众包测试应用,是由应用市场分发给部分用户,有一定的有效期的特定应用,系统检测到应用的有效期到期后,会通知用户到应用市场更新release版本的应用。<li>internaltesting:应用市场内测的应用。<li>none:其他。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 46| appProvisionType | string | 是 | 否 | 应用程序签名证书文件的类型,分为debug和release两种类型。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 47| systemApp | boolean | 是 | 否 | 标识应用是否为系统应用,取值为true表示系统应用,取值为false表示非系统应用。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 48| bundleType |[bundleManager.BundleType](js-apis-bundleManager.md#bundletype) | 是 | 否 | 标识包的类型,取值为APP(应用)或者ATOMIC_SERVICE(原子化服务)。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 49| debug<sup>10+</sup> | boolean | 是 | 否 | 标识应用是否处于调试模式,取值为true表示应用处于调试模式,取值为false表示应用处于非调试模式。<br>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 50| dataUnclearable<sup>11+</sup> | boolean | 是 | 否 | 标识应用数据是否可被删除。true表示不可删除,false表示可以删除。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 51| nativeLibraryPath<sup>12+</sup> | string | 是 | 否 | 应用程序的本地库文件路径。 | 52| multiAppMode<sup>12+</sup> | [MultiAppMode](#multiappmode12) | 是 | 否 | 应用多开模式。| 53| appIndex<sup>12+</sup> | number | 是 | 否 | 应用包的分身索引标识,仅在分身应用中生效。 | 54| installSource<sup>12+</sup> | string | 是 | 否 | 应用程序的安装来源,支持的取值如下:<br/> - pre-installed表示应用为第一次开机时安装的预置应用。<br/> - ota表示应用为系统升级时新增的预置应用。<br/> - recovery表示卸载后再恢复的预置应用。<br/> - bundleName表示应用由此包名对应的应用安装。<br/> - unknown表示应用安装来源未知。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 55| releaseType<sup>12+</sup> | string | 是 | 否 | 标识应用打包时使用的SDK的发布类型。当前SDK的发布类型可能为Canary、Beta、Release,其中Canary和Beta可能通过序号进一步细分,例如Canary1、Canary2、Beta1、Beta2等。开发者可通过对比应用打包依赖的SDK发布类型和OS的发布类型([deviceInfo.distributionOSReleaseType](../apis-basic-services-kit/js-apis-device-info.md))来判断兼容性。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 56| cloudFileSyncEnabled<sup>12+</sup> | boolean | 是 | 否 | 标识当前应用是否启用端云文件同步能力。true表示当前应用启用端云文件同步能力,false表示当前应用不启用端云文件同步能力。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 57| cloudStructuredDataSyncEnabled<sup>20+</sup> | boolean | 是 | 是 | 标识当前应用是否启用端云结构化数据同步能力。true表示当前应用启用端云结构化数据同步能力,false表示当前应用不启用端云结构化数据同步能力。<br/>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | 58 59## MultiAppMode<sup>12+</sup> 60表示[应用多开](../../quick-start/multiInstance.md)模式。 61 62**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 63 64**参数:** 65 66| 名称 | 类型 | 只读 | 可选 | 说明 | 67| --------- | -------------- | ---- | ---- | --------------------------- | 68| multiAppModeType | [bundleManager.MultiAppModeType](js-apis-bundleManager.md#multiappmodetype12) | 是 | 否 | 应用多开模式的类型。 | 69| maxCount | number | 是 | 否 | 应用多开的最大个数。 | 70 71## ModuleMetadata<sup>10+</sup> 72 73描述模块的元数据信息。 74 75**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 76 77**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 78 79| 名称 | 类型 | 只读 | 可选 | 说明 | 80| --------- | -------------- | ---- | ---- | --------------------------- | 81| moduleName| string | 是 | 否 | 模块名。 | 82| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | 是 | 否 | 该模块下的元数据信息列表。 |