提交 18f928a0 编写于 作者: D duangavin123

Signed-off-by: duangavin123 <duanxichao@huawei.com>

Merge branch 'master' of https://gitee.com/duangavin123/docs
...@@ -107,7 +107,7 @@ Obtains the size of the shared dirty memory of this process. ...@@ -107,7 +107,7 @@ Obtains the size of the shared dirty memory of this process.
- **Example** - **Example**
``` ```
let sharedDirty = hidebug.getSharedDirty()); let sharedDirty = hidebug.getSharedDirty();
``` ```
......
# 应用开发 # 应用开发
- [应用开发导读](application-dev-guide.md) - [应用开发导读](application-dev-guide.md)
- [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md) - 了解OpenHarmony
- [包结构说明](quick-start/package-structure.md) - [了解OpenHarmony开源项目](../OpenHarmony-Overview_zh.md)
- [Ability框架](ability/Readme-CN.md) - [了解OpenHarmony系统](../readme)
- 方舟开发框架(ArkUI) - [术语](../device-dev/glossary/glossary.md)
- [基于JS扩展的类Web开发范式](ui/ui-arkui-js.md) - [版本说明](../release-notes/Readme.md)
- [基于TS扩展的声明式开发范式](ui/ui-arkui-ts.md) - 快速开始
- [后台代理提醒](background-agent-scheduled-reminder/Readme-CN.md) - [应用开发快速入门](quick-start/Readme-CN.md)
- [后台任务管理](background-task-management/Readme-CN.md) - [应用开发包结构说明](quick-start/package-structure.md)
- [媒体](media/Readme-CN.md) - 开发
- [安全](security/Readme-CN.md) - [Ability开发](ability/Readme-CN.md)
- [网络与连接](connectivity/Readme-CN.md) - [UI开发](ui/Readme-CN.md)
- [数据管理](database/Readme-CN.md) - 基础功能开发
- [USB服务](usb/Readme-CN.md) - [后台代理提醒](background-agent-scheduled-reminder/Readme-CN.md)
- [DFX](dfx/Readme-CN.md) - [后台任务管理](background-task-management/Readme-CN.md)
- [WebGL](webgl/Readme-CN.md) - [媒体](media/Readme-CN.md)
- [开发参考](reference/Readme-CN.md) - [安全](security/Readme-CN.md)
- [网络与连接](connectivity/Readme-CN.md)
- [数据管理](database/Readme-CN.md)
- [USB服务](usb/Readme-CN.md)
- [DFX](dfx/Readme-CN.md)
- 工具
- [DevEco Studio(OpenHarmony)使用指南](quick-start/deveco-studio-user-guide-for-openharmony.md)
- 示例教程
- [示例代码](https://gitee.com/openharmony/app_samples/blob/master/README_zh.md)
- [Codelabs](https://gitee.com/openharmony/codelabs/blob/master/README.md)
- API参考
- [组件参考(基于JS扩展的类Web开发范式)](reference/arkui-js/Readme-CN.md)
- [组件参考(基于TS扩展的声明式开发范式)](reference/arkui-ts/Readme-CN.md)
- [接口参考](reference/apis/Readme-CN.md)
- 贡献
- [参与贡献](../contribute/贡献文档.md)
\ No newline at end of file
...@@ -88,7 +88,7 @@ app对象包含应用全局配置信息,内部结构说明参见表2。 ...@@ -88,7 +88,7 @@ app对象包含应用全局配置信息,内部结构说明参见表2。
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | ------------------ | | ---------- | ------------------------------------------------------------ | -------- | ------------------ |
| bundleName | 表示应用的包名,用于标识应用的唯一性。包名是由字母、数字、下划线(_)和点号(.)组成的字符串,必须以字母开头。支持的字符串长度为7~127字节。包名通常采用反域名形式表示(例如,"com.example.myapplication")。建议第一级为域名后缀"com",第二级为厂商/个人名,也可以采用多级。 | 字符串 | 否 | | bundleName | 表示应用的包名,用于标识应用的唯一性。包名是由字母、数字、下划线(_)和点号(.)组成的字符串,必须以字母开头。支持的字符串长度为7~127字节。包名通常采用反域名形式表示(例如,"com.example.myapplication")。建议第一级为域名后缀"com",第二级为厂商/个人名,也可以采用多级。 | 字符串 | 否 |
| vendor | 表示对应用开发厂商的描述。字符串长度不超过255字节。 | 字符串 | 可缺省,缺省值为空 | | vendor | 表示对应用开发厂商的描述。字符串长度不超过255字节。 | 字符串 | 可缺省,缺省值为空 |
| version | 表示应用的版本信息。参考表3。 | 对象 | 否 | | version | 表示应用的版本信息。参考表3。 | 对象 | 否 |
| apiVersion | 标识应用程序所依赖的OpenHarmony API版本。参考表4。 | 对象 | 可缺省,缺省值为空 | | apiVersion | 标识应用程序所依赖的OpenHarmony API版本。参考表4。 | 对象 | 可缺省,缺省值为空 |
...@@ -97,8 +97,8 @@ app对象包含应用全局配置信息,内部结构说明参见表2。 ...@@ -97,8 +97,8 @@ app对象包含应用全局配置信息,内部结构说明参见表2。
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------------------------ | ------------------------------------------------------------ | -------- | -------------------------- | | ------------------------ | ------------------------------------------------------------ | -------- | -------------------------- |
| name | 表示应用的版本号,用于向应用的终端用户呈现。取值可以自定义,长度不超过127字节。自定义规则如下:<br />API5及更早的版本:推荐使用三段数字版本号(也兼容两段式版本号),如A.B.C(也兼容A.B),其中A、B、C取值为0-999范围内的整数。初次之外不支持其他格式。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示修订版本号(Patch)。<br />API6版本起:推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0-99范围内的整数,D的取值为0-999范围内的整数。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示特性版本号(Feature)。<br /> D段,一般表示修订版本号(Patch)。 | 数值 | 不可缺省 | | name | 表示应用的版本号,用于向应用的终端用户呈现。取值可以自定义,长度不超过127字节。自定义规则如下:<br />API5及更早的版本:推荐使用三段数字版本号(也兼容两段式版本号),如A.B.C(也兼容A.B),其中A、B、C取值为0-999范围内的整数。除此之外不支持其他格式。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示修订版本号(Patch)。<br />API6版本起:推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0-99范围内的整数,D的取值为0-999范围内的整数。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示特性版本号(Feature)。<br /> D段,一般表示修订版本号(Patch)。 | 数值 | 不可缺省 |
| code | 表示应用的版本号,仅用于OpenHarmony管理该应用,不对应用的终端用户呈现。取值规则如下:<br />API5及更早版本:二进制32位以内的非负整数,需要从version.name的值转换得到。转换规则为:<br /> code值=A * 1,000,000 + B * 1,000 + C 例如,version.name字段取值为2.2.1,则code值为2002001。<br /> API6版本起:code的取值不与version.name字段的取值关联,开发者可自定义code取值,取值范围为2^31的非负整数,但是每次应用版本的更新,均需要更新code字段的值,新版本code取值必须大于旧版本code的值。 | 数值 | 不可缺省 | | code | 表示应用的版本号,仅用于OpenHarmony管理该应用,不对应用的终端用户呈现。取值规则如下:<br />API5及更早版本:二进制32位以内的非负整数,需要从version.name的值转换得到。转换规则为:<br /> code值=A * 1,000,000 + B * 1,000 + C 例如,version.name字段取值为2.2.1,则code值为2002001。<br /> API6版本起:code的取值不与version.name字段的取值关联,开发者可自定义code取值,取值范围为2^31以内的非负整数,但是每次应用版本的更新,均需要更新code字段的值,新版本code取值必须大于旧版本code的值。 | 数值 | 不可缺省 |
| minCompatibleVersionCode | 表示应用可兼容的最低版本号,用于跨设备场景下,判断其他设备上该应用的版本是否兼容。<br /> 格式与version.code字段的格式要求相同。 | 数值 | 可缺省,缺省值为code标签值 | | minCompatibleVersionCode | 表示应用可兼容的最低版本号,用于跨设备场景下,判断其他设备上该应用的版本是否兼容。<br /> 格式与version.code字段的格式要求相同。 | 数值 | 可缺省,缺省值为code标签值 |
表4 apiVersion内部结构 表4 apiVersion内部结构
...@@ -107,7 +107,7 @@ app对象包含应用全局配置信息,内部结构说明参见表2。 ...@@ -107,7 +107,7 @@ app对象包含应用全局配置信息,内部结构说明参见表2。
| ----------- | ----------------------------------------------------------- | -------- | ---------- | | ----------- | ----------------------------------------------------------- | -------- | ---------- |
| compatible | 运行应用所需要的最低API版本,取值范围为0~2147483647。 | 整数 | 可缺省 | | compatible | 运行应用所需要的最低API版本,取值范围为0~2147483647。 | 整数 | 可缺省 |
| target | 用于标识应用运行所需的目标API版本,取值范围为0~2147483647。 | 整数 | 可缺省 | | target | 用于标识应用运行所需的目标API版本,取值范围为0~2147483647。 | 整数 | 可缺省 |
| releaseType | 用于标识应用运行所需的目标API版本 | 字符串 | 可缺省 | | releaseType | 用于标识应用运行所需的目标API版本的类型。 | 字符串 | 可缺省 |
app实例: app实例:
...@@ -149,7 +149,7 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部 ...@@ -149,7 +149,7 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------------------ | ------------------------------------------------------------ | -------- | ----------------------- | | ------------------ | ------------------------------------------------------------ | -------- | ----------------------- |
| process | 表示应用或者Ability的进程名。如果在deviceConfig标签下配置了process标签,则该应用的所有Ability都运行在这个进程中。如果在abilities标签下也为某个Ability配置了process标签,则该Ability就运行在这个进程中。该标签仅适用于手机、平板、智慧屏、车机、智慧穿戴。 | 字符串 | 是 | | process | 表示应用或者Ability的进程名。如果在deviceConfig标签下配置了process标签,则该应用的所有Ability都运行在这个进程中。如果在abilities标签下也为某个Ability配置了process标签,则该Ability就运行在这个进程中。该标签仅适用于手机、平板、智慧屏、车机、智慧穿戴。该标签最大长度为31。 | 字符串 | 是 |
| supportBackup | 表示应用是否支持备份和恢复。如果配置为"false",则不支持为该应用执行备份或恢复操作。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为"false" | | supportBackup | 表示应用是否支持备份和恢复。如果配置为"false",则不支持为该应用执行备份或恢复操作。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为"false" |
| compressNativeLibs | 表示libs库是否以压缩存储的方式打包到HAP包。如果配置为"false",则libs库以不压缩的方式存储,HAP包在安装时无需解压libs,运行时会直接从HAP内加载libs库。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为"true" | | compressNativeLibs | 表示libs库是否以压缩存储的方式打包到HAP包。如果配置为"false",则libs库以不压缩的方式存储,HAP包在安装时无需解压libs,运行时会直接从HAP内加载libs库。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为"true" |
| directLaunch | 指定设备被锁定时是否可以启动应用程序。如果要在不解锁设备的情况下启动应用程序,请将此设备设置为"true"。运行OHOS的设备不支持此属性。 | 布尔值 | 可缺省,缺省值为"false" | | directLaunch | 指定设备被锁定时是否可以启动应用程序。如果要在不解锁设备的情况下启动应用程序,请将此设备设置为"true"。运行OHOS的设备不支持此属性。 | 布尔值 | 可缺省,缺省值为"false" |
...@@ -166,9 +166,9 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部 ...@@ -166,9 +166,9 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部
表8 reqVersion对象内部结构说明 表8 reqVersion对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------- | -------- | ---------- | | ---------- | -------------------------------------------------------- | -------- | ---------- |
| compatible | 表示支持应用程序的最低maple版本 | 整数 | 不可缺省 | | compatible | 表示支持应用程序的最低maple版本,采用32位无符号整形表示。 | 整数 | 不可缺省 |
| target | 指定maple应用程序的类型 | 整数 | 不可缺省 | | target | 指定maple应用程序的类型,采用32位无符号整形表示。 | 整数 | 不可缺省 |
表9 network对象的内部结构说明 表9 network对象的内部结构说明
...@@ -181,7 +181,7 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部 ...@@ -181,7 +181,7 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部
| 属性名称 | 子属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 子属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------------- | ------------------ | ------------------------------------------------------------ | -------- | ---------------- | | -------------- | ------------------ | ------------------------------------------------------------ | -------- | ---------------- |
| domainSettings | - | 表示自定义的网域范围的安全配置,支持多层嵌套,即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。 | 布尔类型 | 可缺省,缺省为空 | | domainSettings | - | 表示自定义的网域范围的安全配置,支持多层嵌套,即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。 | 对象类型 | 可缺省,缺省为空 |
| | cleartextPermitted | 表示自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。<br />true:允许明文流量传输。<br />false:拒绝明文流量传输 | 布尔类型 | 否 | | | cleartextPermitted | 表示自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。<br />true:允许明文流量传输。<br />false:拒绝明文流量传输 | 布尔类型 | 否 |
| | domains | 表示域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为"true",此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。<br /> name(字符串):表示域名名称 | 对象数组 | 否 | | | domains | 表示域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为"true",此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。<br /> name(字符串):表示域名名称 | 对象数组 | 否 |
...@@ -231,11 +231,11 @@ module对象包含HAP包的配置信息,内部结构说明参见表11。 ...@@ -231,11 +231,11 @@ module对象包含HAP包的配置信息,内部结构说明参见表11。
| shortcuts | 表示应用的快捷方式信息。采用对象数组格式,其中的每个元素表示一个快捷方式对象。参考表25。 | 对象数组 | 可缺省,缺省值为空 | | shortcuts | 表示应用的快捷方式信息。采用对象数组格式,其中的每个元素表示一个快捷方式对象。参考表25。 | 对象数组 | 可缺省,缺省值为空 |
| reqPermissions | 表示应用运行时向系统申请的权限。参考表21。 | 对象数组 | 可缺省,缺省值为空 | | reqPermissions | 表示应用运行时向系统申请的权限。参考表21。 | 对象数组 | 可缺省,缺省值为空 |
| colorMode | 表示应用自身的颜色模式。<br /> dark:表示按照深色模式选取资源。<br /> light:表示按照浅色模式选取资源。<br /> auto:表示跟随系统的颜色模式值选取资源。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为"auto" | | colorMode | 表示应用自身的颜色模式。<br /> dark:表示按照深色模式选取资源。<br /> light:表示按照浅色模式选取资源。<br /> auto:表示跟随系统的颜色模式值选取资源。<br /> 该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为"auto" |
| distroFilter | 表示应用的分发规则。<br /> 该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Verion、屏幕形状、屏幕分辨率。在进行分发时,通过deviceType与这三个属性的匹配关系,唯一确定一个用于分发到设备的HAP。参考表29。 | 对象数组 | 可缺省,缺省值为空。但当应用中包含多个entry模块时,必须配置该标签。 | | distroFilter | 表示应用的分发规则。<br /> 该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Verion、屏幕形状、屏幕分辨率。在进行分发时,通过deviceType与这三个属性的匹配关系,唯一确定一个用于分发到设备的HAP。参考表29。 | 对象 | 可缺省,缺省值为空。但当应用中包含多个entry模块时,必须配置该标签。 |
| reqCapabilities | 表示运行应用程序所需的设备能力 | 字符串数组 | 可缺省,缺省为空 | | reqCapabilities | 表示运行应用程序所需的设备能力 | 字符串数组 | 可缺省,缺省为空 |
| commonEvents | 静态广播,参考表33。 | 对象数组 | 可缺省,缺省为空 | | commonEvents | 静态广播,参考表35。 | 对象数组 | 可缺省,缺省为空 |
| allowClassMap | HAP的元信息。标记值为true或false。如果标记值为true,则hap使用OpenHarmony框架提供的Java对象代理机制。默认值为false。 | 布尔值 | 不可缺省,缺省值为false | | allowClassMap | HAP的元信息。标记值为true或false。如果标记值为true,则hap使用OpenHarmony框架提供的Java对象代理机制。默认值为false。 | 布尔值 | 不可缺省,缺省值为false |
| entryTheme | 此标签表示OpenHarmony内部主题的关键字。将标记值设置为名称的资源索引 | 字符串 | 可缺省,缺省值为 | | entryTheme | 此标签表示OpenHarmony内部主题的关键字。将标记值设置为名称的资源索引 | 字符串 | 可缺省,缺省值为 |
module示例: module示例:
...@@ -275,7 +275,7 @@ module示例: ...@@ -275,7 +275,7 @@ module示例:
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------------- | ------------------------------------------------------------ | -------- | ---------- | | ---------------- | ------------------------------------------------------------ | -------- | ---------- |
| moduleName | 表示当前HAP的名称 | 字符串 | 不可缺省 | | moduleName | 表示当前HAP的名称,最大长度为31。 | 字符串 | 不可缺省 |
| moduleType | 表示当前HAP的类型,包括两种类型:entry和feature。另外,如果表示HAR类型,请设置为har。 | 字符串 | 不可缺省 | | moduleType | 表示当前HAP的类型,包括两种类型:entry和feature。另外,如果表示HAR类型,请设置为har。 | 字符串 | 不可缺省 |
| installationFree | 表示当前HAP是否支持免安装特性。<br /> true:表示支持免安装特性,且符合免安装约束。<br /> false:表示不支持免安装特性。<br /> 另外还需注意:<br /> 当entry.hap该字段配置为true时,与该entry.hap相关的所有feature.hap该字段也需要配置为true。<br /> 当entry.hap该字段配置为false时,与该entry.hap相关的各feature.hap该字段可按业务 需求配置true或false。 | 布尔值 | 否 | | installationFree | 表示当前HAP是否支持免安装特性。<br /> true:表示支持免安装特性,且符合免安装约束。<br /> false:表示不支持免安装特性。<br /> 另外还需注意:<br /> 当entry.hap该字段配置为true时,与该entry.hap相关的所有feature.hap该字段也需要配置为true。<br /> 当entry.hap该字段配置为false时,与该entry.hap相关的各feature.hap该字段可按业务 需求配置true或false。 | 布尔值 | 否 |
...@@ -292,24 +292,25 @@ distro示例: ...@@ -292,24 +292,25 @@ distro示例:
表13 metaData对象的内部结构说明 表13 metaData对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | -------------------- | | ------------- | ------------------------------------------------------------ | -------- | -------------------- |
| parameters | 表示调用Ability时所有调用参数的元信息。每个调用参数参数的元信息由一下三个标签组成:description、name、type。参考表14。 | 对象 | 可缺省,缺省值为空 | | parameters | 表示调用Ability时所有调用参数的元信息。每个调用参数的元信息由以下三个标签组成:description、name、type。参考表14。 | 对象数组 | 可缺省,缺省值为空 |
| results | 表示Ability返回值的元信息。每个返回值的元信息由以下三个标签组成:description、name、type。参考表15。 | 对象 | 可缺省,缺省值为空。 | | results | 表示Ability返回值的元信息。每个返回值的元信息由以下三个标签组成:description、name、type。参考表15。 | 对象数组 | 可缺省,缺省值为空。 |
| customizeData | 该标签标识父级组件的自定义元信息,Parameters和results在application不可配。参考表16 | 对象数组 | 可缺省,缺省值为空。 |
表14 parameters对象的内部结构说明 表14 parameters对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | -------- | ------------------ | | ----------- | ------------------------------------------------------------ | -------- | ------------------ |
| description | 表示对调用参数的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。 | 字符串 | 可缺省,缺省值为空 | | description | 表示对调用参数的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空 |
| name | 表示调用参数的名称。 | 字符串 | 可缺省,缺省值为空 | | name | 表示调用参数的名称。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空 |
| type | 表示调用参数的类型,如Integer。 | 字符串 | 不可缺省 | | type | 表示调用参数的类型,如Integer。 | 字符串 | 不可缺省 |
表15 results对象的内部结构说明 表15 results对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | -------- | -------------------- | | ----------- | ------------------------------------------------------------ | -------- | -------------------- |
| description | 表示对返回值的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。 | 字符串 | 可缺省,缺省值为空。 | | description | 表示对返回值的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空。 |
| name | 表示返回值的名字。 | 字符串 | 可缺省,缺省值为空。 | | name | 表示返回值的名字。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空。 |
| type | 表示返回值的类型,如Integer。 | 字符串 | 否 | | type | 表示返回值的类型,如Integer。 | 字符串 | 否 |
表16 customizeData对象的内部结构说明 表16 customizeData对象的内部结构说明
...@@ -317,7 +318,7 @@ distro示例: ...@@ -317,7 +318,7 @@ distro示例:
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ---------------------------------------------------------- | -------- | -------------------- | | -------- | ---------------------------------------------------------- | -------- | -------------------- |
| name | 表示数据项的键名称,字符串类型(最大长度255字节)。 | 字符串 | 可缺省,缺省值为空。 | | name | 表示数据项的键名称,字符串类型(最大长度255字节)。 | 字符串 | 可缺省,缺省值为空。 |
| value | 表示数据项的名称,字符串类型(最大长度255字节)。 | 字符串 | 可缺省,缺省值为空。 | | value | 表示数据项的名称,字符串类型(最大长度255字节)。 | 字符串 | 可缺省,缺省值为空。 |
| extra | 表示用户自定义数据格式,标签值为标识该数据的资源的索引值。 | 字符串 | 可缺省,缺省值为空。 | | extra | 表示用户自定义数据格式,标签值为标识该数据的资源的索引值。 | 字符串 | 可缺省,缺省值为空。 |
metaData示例: metaData示例:
...@@ -347,11 +348,11 @@ metaData示例: ...@@ -347,11 +348,11 @@ metaData示例:
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------------- | ------------------------------------------------------------ | ---------- | -------------------------------------------------------- | | ---------------- | ------------------------------------------------------------ | ---------- | -------------------------------------------------------- |
| process | 运行应用程序或Ability的进程名称。如果在deviceConfig标记中配置了进程,则应用程序的所有能力都在此进程中运行。您还可以为特定能力设置流程属性,以便该能力可以在此流程中运行。如果此属性设置为与其他应用程序相同的进程名称,则所有这些应用程序可以在同一进程中运行,前提是他们具有相同的联合用户ID和相同的签名。运行OHOS的设备不支持此属性。 | 字符串 | 可缺省,缺省值为空。 | | process | 运行应用程序或Ability的进程名称。如果在deviceConfig标记中配置了进程,则应用程序的所有能力都在此进程中运行。您还可以为特定能力设置流程属性,以便该能力可以在此流程中运行。如果此属性设置为与其他应用程序相同的进程名称,则所有这些应用程序可以在同一进程中运行,前提是他们具有相同的联合用户ID和相同的签名。运行OHOS的设备不支持此属性。 | 字符串 | 可缺省,缺省值为空。 |
| name | 表示Ability名称。取值可采用反向域名方式表示,由包名和类名组成,如“com.example.myapplication.MainAbility”;也可采用“.”开头的类名方式表示,如“.MainAbility”。<br /> Ability的名称,需在一个应用的范围内保证唯一。该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。<br /> 说明:在使用DevEco Studio新建项目时,默认生成首个Ability的配置,包括生成“MainAbility.java”文件,及“config.json”中“MainAbility”的配置。如使用其他IDE工具,可自定义名称。 | 字符串 | 否 | | name | 表示Ability名称。取值可采用反向域名方式表示,由包名和类名组成,如“com.example.myapplication.MainAbility”;也可采用“.”开头的类名方式表示,如“.MainAbility”。<br /> Ability的名称,需在一个应用的范围内保证唯一。该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。<br /> 说明:在使用DevEco Studio新建项目时,默认生成首个Ability的配置,包括生成“MainAbility.java”文件,及“config.json”中“MainAbility”的配置。如使用其他IDE工具,可自定义名称。该标签最大长度为127。 | 字符串 | 否 |
| description | 表示对Ability的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。 | 字符串 | 可缺省,缺省值为空。 | | description | 表示对Ability的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 表示Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。<br /> 说明:应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 | | icon | 表示Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。<br /> 说明:应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 |
| label | 表示Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。<br /> 说明: 应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 | | label | 表示Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。<br /> 说明: 应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空。 |
| uri | 表示Ability的统一资源标识符。 | 字符串 | 可缺省,对于data类型的Ability不可缺省。 | | uri | 表示Ability的统一资源标识符。该标签最大长度为255。 | 字符串 | 可缺省,对于data类型的Ability不可缺省。 |
| launchType | 表示Ability的启动模式,支持“standard”、“singleMission”和“singleton”三种模式:<br />standard:表示该Ability可以有多实例。<br />“standard”模式适用于大多数应用场景。<br />singleMission:表示此Ability在每个任务栈中只能有一个实例。<br />singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式。该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为“standard”。 | | launchType | 表示Ability的启动模式,支持“standard”、“singleMission”和“singleton”三种模式:<br />standard:表示该Ability可以有多实例。<br />“standard”模式适用于大多数应用场景。<br />singleMission:表示此Ability在每个任务栈中只能有一个实例。<br />singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式。该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为“standard”。 |
| visible | 表示Ability是否可以被其他应用调用。<br />true:可以被其他应用调用。<br />false:不能被其他应用调用。 | 布尔类型 | 可缺省,缺省值为“false”。 | | visible | 表示Ability是否可以被其他应用调用。<br />true:可以被其他应用调用。<br />false:不能被其他应用调用。 | 布尔类型 | 可缺省,缺省值为“false”。 |
| permissions | 表示其他应用的Ability调用此Ability时需要申请的权限。通常采用反向域名格式,取值可以是系统预定义的权限,也可以是开发者自定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 | | permissions | 表示其他应用的Ability调用此Ability时需要申请的权限。通常采用反向域名格式,取值可以是系统预定义的权限,也可以是开发者自定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
...@@ -373,14 +374,14 @@ metaData示例: ...@@ -373,14 +374,14 @@ metaData示例:
| forms | 表示服务卡片的属性。该标签仅当formsEnabled为“true”时,才能生效。参考表27。 | 对象数组 | 可缺省,缺省值为空。 | | forms | 表示服务卡片的属性。该标签仅当formsEnabled为“true”时,才能生效。参考表27。 | 对象数组 | 可缺省,缺省值为空。 |
| srcLanguage | Ability开发语言的类型。 | 字符串 | 取值为java、js或ets | | srcLanguage | Ability开发语言的类型。 | 字符串 | 取值为java、js或ets |
| srcPath | 该标签表示Ability对应的JS组件代码路径 | 字符串 | 可缺省,缺省值为空。 | | srcPath | 该标签表示Ability对应的JS组件代码路径 | 字符串 | 可缺省,缺省值为空。 |
| uriPermission | 表示该Ability有权访问的应用程序数据。此属性由模式和路径子属性组成。此属性仅对类型提供的能力有效。运行OHOS的设备不支持此属性。参考表18。 | 对象 | 可缺省,缺省值为空。 | | uriPermission | 表示该Ability有权访问的应用程序数据。此属性由模式和路径子属性组成。此属性仅对类型提供的能力有效。运行OHOS的设备不支持此属性。参考表18。 | 对象 | 可缺省,缺省值为空。 |
表18 uriPermission对象的内部结构说明 表18 uriPermission对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ----------------------- | -------- | ----------------------- | | -------- | ----------------------- | -------- | ------------------------- |
| path | uriPermission标识的路径 | 字符串 | 不可缺省 | | path | uriPermission标识的路径 | 字符串 | 不可缺省 |
| mode | uriPeimission的匹配模式 | 字符串 | 可缺省,缺省值为false。 | | mode | uriPeimission的匹配模式 | 字符串 | 可缺省,缺省值为default。 |
abilities示例: abilities示例:
...@@ -458,11 +459,13 @@ abilities示例: ...@@ -458,11 +459,13 @@ abilities示例:
表20 uris对象的内部结构说明 表20 uris对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------- | -------- | -------------------- | | ------------- | -------------------------- | -------- | -------------------- |
| scheme | 表示uri的scheme值。 | 字符串 | 不可缺省。 | | scheme | 表示uri的scheme值。 | 字符串 | 不可缺省。 |
| host | 表示uri的host值。 | 字符串 | 可缺省,缺省值为空。 | | host | 表示uri的host值。 | 字符串 | 可缺省,缺省值为空。 |
| port | 表示uri的port值。 | 字符串 | 可缺省,缺省值为空。 | | port | 表示uri的port值。 | 字符串 | 可缺省,缺省值为空。 |
| pathStartWith | 表示uri的pathStartWith值。 | 字符串 | 字符串 |
| path | 表示uri的path值。 | 字符串 | 可缺省,缺省值为空。 | | path | 表示uri的path值。 | 字符串 | 可缺省,缺省值为空。 |
| pathRegx | 表示uri的pathRegx值。 | 字符串 | 可缺省,缺省值为空。 |
| type | 表示uri的type值。 | 字符串 | 可缺省,缺省值为空。 | | type | 表示uri的type值。 | 字符串 | 可缺省,缺省值为空。 |
skills示例: skills示例:
...@@ -492,10 +495,10 @@ skills示例: ...@@ -492,10 +495,10 @@ skills示例:
表21 reqPermissions权限申请字段说明 表21 reqPermissions权限申请字段说明
| 属性名称 | 含义 | **类型** | **取值范围** | **默认值** | **规则约束** | | 属性名称 | 含义 | **类型** | **取值范围** | **默认值** | **规则约束** |
| --------- | ------------------------------------------------------------ | ------------------------------- | ----------------------------------------------------------- | ---------------------- | ------------------------------------------------------------ | | --------- | ------------------------------------------------------------ | -------- | ----------------------------------------------------------- | ---------------------- | ------------------------------------------------------------ |
| name | 必须,填写需要使用的权限名称。 | 字符串 | 自定义 | 无 | 未填写时,解析失败。 | | name | 必须,填写需要使用的权限名称。 | 字符串 | 自定义 | 无 | 未填写时,解析失败。 |
| reason | 可选,当申请的权限为user_grant权限时此字段必填。描述申请权限的原因。 | 字符串 | 显示文字长度不能超过256个字节。 | 空 | user_grant权限必填,否则不允许在应用市场上架。需做多语种适配。 | | reason | 可选,当申请的权限为user_grant权限时此字段必填。描述申请权限的原因。 | 字符串 | 显示文字长度不能超过256个字节。 | 空 | user_grant权限必填,否则不允许在应用市场上架。需做多语种适配。 |
| usedScene | 可选,当申请的权限为user_grant权限时此字段必填。描述权限使用的场景和时机。场景类型有:ability、when(调用时机)。可配置多个ability。 | ability:字符串数组when:字符串 | ability:ability的名称when:inuse(使用时)、always(始终) | ability:空when:inuse | user_grant权限必填ability,可选填when。 | | usedScene | 可选,当申请的权限为user_grant权限时此字段必填。描述权限使用的场景和时机。场景类型有:ability、when(调用时机)。可配置多个ability。 | 对象 | ability:ability的名称when:inuse(使用时)、always(始终) | ability:空when:inuse | user_grant权限必填ability,可选填when。 |
表22 js对象的内部结构说明 表22 js对象的内部结构说明
...@@ -517,8 +520,8 @@ skills示例: ...@@ -517,8 +520,8 @@ skills示例:
表24 mode对象的内部结构说明 表24 mode对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------------------- | ----------------------------------- | -------------------------- | | -------- | -------------------- | ----------------------------------- | --------------------------- |
| type | 定义JS组件的功能类型 | 字符串,取值为"pageAbility"、"form" | 可缺省,缺省值为pageAbilit | | type | 定义JS组件的功能类型 | 字符串,取值为"pageAbility"、"form" | 可缺省,缺省值为pageAbility |
| syntax | 定义JS组件的语法类型 | 字符串,取值为"hml","ets" | 是,默认值为"hml" | | syntax | 定义JS组件的语法类型 | 字符串,取值为"hml","ets" | 是,默认值为"hml" |
js示例: js示例:
...@@ -546,6 +549,7 @@ js示例: ...@@ -546,6 +549,7 @@ js示例:
| ---------- | ------------------------------------------------------------ | -------- | ------------------ | | ---------- | ------------------------------------------------------------ | -------- | ------------------ |
| shortcutId | 表示快捷方式的ID。字符串的最大长度为63字节。 | 字符串 | 否 | | shortcutId | 表示快捷方式的ID。字符串的最大长度为63字节。 | 字符串 | 否 |
| label | 表示快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。 | 字符串 | 可缺省,缺省为空。 | | label | 表示快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。 | 字符串 | 可缺省,缺省为空。 |
| icon | 表示快捷方式的图标信息。取值为表示icon的资源索引。 | 字符串 | 可缺省,缺省为空。 |
| intents | 表示快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass, targetBundle。参考表26。 | 对象数组 | 可缺省,缺省为空。 | | intents | 表示快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass, targetBundle。参考表26。 | 对象数组 | 可缺省,缺省为空。 |
表26 intents对象的内部结构说明 表26 intents对象的内部结构说明
...@@ -588,7 +592,7 @@ shortcuts示例: ...@@ -588,7 +592,7 @@ shortcuts示例:
| updateEnabled | 表示卡片是否支持周期性刷新,取值范围:<br />true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。<br />false:表示不支持周期性刷新。 | 布尔类型 | 否 | | updateEnabled | 表示卡片是否支持周期性刷新,取值范围:<br />true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。<br />false:表示不支持周期性刷新。 | 布尔类型 | 否 |
| scheduledUpdateTime | 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。 | 字符串 | 可缺省,缺省值为“0:0”。 | | scheduledUpdateTime | 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。 | 字符串 | 可缺省,缺省值为“0:0”。 |
| updateDuration | 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。<br />当取值为0时,表示该参数不生效。<br />当取值为正整数N时,表示刷新周期为30*N分钟。 | 数值 | 可缺省,缺省值为“0”。 | | updateDuration | 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。<br />当取值为0时,表示该参数不生效。<br />当取值为正整数N时,表示刷新周期为30*N分钟。 | 数值 | 可缺省,缺省值为“0”。 |
| formConfigAbility | 表示卡片的配置跳转链接,采用URI格式。 | 字符串 | 可缺省,缺省值为空。 | | formConfigAbility | 表示用于调整卡片的设施或活动的名称。 | 字符串 | 可缺省,缺省值为空。 |
| formVisibleNotify | 标识是否允许卡片使用卡片可见性通知 | 字符串 | 可缺省,缺省值为空。 | | formVisibleNotify | 标识是否允许卡片使用卡片可见性通知 | 字符串 | 可缺省,缺省值为空。 |
| jsComponentName | 表示JS卡片的Component名称。字符串最大长度为127字节。仅当卡片类型为JS卡片时,需要配置该标签。 | 字符串 | 否 | | jsComponentName | 表示JS卡片的Component名称。字符串最大长度为127字节。仅当卡片类型为JS卡片时,需要配置该标签。 | 字符串 | 否 |
| metaData | 表示卡片的自定义信息,包含customizeData数组标签。参考表13。 | 对象 | 可缺省,缺省值为空。 | | metaData | 表示卡片的自定义信息,包含customizeData数组标签。参考表13。 | 对象 | 可缺省,缺省值为空。 |
...@@ -597,9 +601,10 @@ shortcuts示例: ...@@ -597,9 +601,10 @@ shortcuts示例:
表28 customizeData对象内部结构说明 表28 customizeData对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | --------------------------------------------- | -------- | -------------------- | | -------- | --------------------------------------------------- | -------- | -------------------- |
| name | 表示数据项的键名称。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 | | name | 表示数据项的键名称。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
| value | 表示数据项的值。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 | | value | 表示数据项的值。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
| extra | 表示当前custom数据的格式,取值为表示extra的资源值。 | 字符串 | 可缺省,缺省值为空。 |
forms示例: forms示例:
...@@ -657,10 +662,12 @@ forms示例: ...@@ -657,10 +662,12 @@ forms示例:
表29 distroFilter对象的内部结构说明 表29 distroFilter对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------------ | ------------------------------------------------------------ | -------- | ---------- | | ------------- | ------------------------------------------------------------ | -------- | ---------- |
| apiVersion | 表示支持的apiVersion范围。参考表30。 | 对象数组 | 可选 | | apiVersion | 表示支持的apiVersion范围。参考表30。 | 对象 | 可选 |
| screenShape | 表示屏幕形状的支持策略。参考表31。 | 对象数组 | 可选 | | screenShape | 表示屏幕形状的支持策略。参考表31。 | 对象数组 | 可选 |
| screenWindow | 表示应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。参考表32。 | 对象数组 | 可选 | | screenWindow | 表示应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。参考表32。 | 对象数组 | 可选 |
| screenDensity | 表示屏幕的像素密度(dpi:Dots Per Inch)。参考表33。 | 对象数组 | 可选 |
| countryCode | 表示分发应用时的国家码。具体值参考ISO-3166-1的标准,支持多个国家和地区的枚举定义。参考表34。 | 对象数组 | 可选 |
表30 apiVersion对象的内部结构说明 表30 apiVersion对象的内部结构说明
...@@ -683,11 +690,24 @@ forms示例: ...@@ -683,11 +690,24 @@ forms示例:
| policy | 表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 | | policy | 表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 单个字符串的取值格式为:“宽 * 高”,取值为整数像素值,例如“454 * 454”。 | 数组 | 可缺省,缺省值为空。 | | value | 单个字符串的取值格式为:“宽 * 高”,取值为整数像素值,例如“454 * 454”。 | 数组 | 可缺省,缺省值为空。 |
表33 screenDensity对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 取值范围如下:<br />sdpi:表示小规模的屏幕密度(Small-scale Dots Per Inch),适用于dpi取值为(0,120]的设备。<br />mdpi:表示中规模的屏幕密度(Medium-scale Dots Per Inch),适用于dpi取值为(120,160]的设备。<br />ldpi:表示大规模的屏幕密度(Large-scale Dots Per Inch),适用于dpi取值为(160,240]的设备。<br />xldpi:表示特大规模的屏幕密度(Extra Large-scale Dots Per Inch),适用于dpi取值为(240,320]的设备。<br />xxldpi:表示超大规模的屏幕密度(Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(320,480]的设备。<br />xxxldpi:表示超特大规模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(480,640]的设备。 | 数组 | 可缺省,缺省值为空。 |
表34 countryCode对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | ---------- | -------------------- |
| policy | 表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 该标签表示应用需要分发的国家码,标签为字符串数组,子串表示支持的国家或地区,由两个大写字母表示。 | 字符串数组 | 可缺省,缺省值为空。 |
distroFilter示例: distroFilter示例:
```json ```json
"distroFilter": [ "distroFilter": {
{
"apiVersion": { "apiVersion": {
"policy": "include", "policy": "include",
"value": [4,5] "value": [4,5]
...@@ -699,12 +719,19 @@ distroFilter示例: ...@@ -699,12 +719,19 @@ distroFilter示例:
"screenWindow": { "screenWindow": {
"policy": "include", "policy": "include",
"value": ["454*454","466*466"] "value": ["454*454","466*466"]
}
“screenDensity”:{
"policy": "exclude",
"value": ["ldpi","xldpi"]
},
"countryCode": {
"policy":"include",
"value":["CN", "HK"]
} }
} }
]
``` ```
表33 commonEvents对象的内部结构说明 表35 commonEvents对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 | | 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | ---------- | ------------------ | | ---------- | ------------------------------------------------------------ | ---------- | ------------------ |
......
...@@ -28,6 +28,10 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number): Pro ...@@ -28,6 +28,10 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number): Pro
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -68,13 +72,17 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, call ...@@ -68,13 +72,17 @@ getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, call
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ----------- | ------------------------------- | ---- | ------------------------------------------------------------ | | ----------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| bundleName | string | 是 | 要查询的应用程序包名称。 | | bundleName | string | 是 | 要查询的应用程序包名称。 |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | | bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| callback | AsyncCallback\<ApplicationInfo> | 是 | 程序启动作为入参的回调函数,返回应用程序信息。 | | callback | AsyncCallback\<ApplicationInfo> | 是 | 程序启动作为入参的回调函数,返回应用程序信息。 |
**示例:** **示例:**
...@@ -104,6 +112,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise<Array\<Bundle ...@@ -104,6 +112,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId?: number): Promise<Array\<Bundle
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -142,6 +154,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array\<BundleIn ...@@ -142,6 +154,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback<Array\<BundleIn
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -173,6 +189,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback ...@@ -173,6 +189,10 @@ getAllBundleInfo(bundleFlag: BundleFlag, userId: number, callback: AsyncCallback
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -207,6 +227,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions): ...@@ -207,6 +227,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options?: BundleOptions):
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -250,6 +274,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\< ...@@ -250,6 +274,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback\<
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -283,6 +311,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, c ...@@ -283,6 +311,10 @@ getBundleInfo(bundleName: string, bundleFlags: number, options: BundleOptions, c
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -321,12 +353,16 @@ getAllApplicationInfo(bundleFlags: number, userId: number): Promise<Array\<Appli ...@@ -321,12 +353,16 @@ getAllApplicationInfo(bundleFlags: number, userId: number): Promise<Array\<Appli
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ----------- | ------ | ---- | ------------------------------------------------------ | | ----------- | ------ | ---- | ------------------------------------------------------ |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 | | bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。 |
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
**返回值:** **返回值:**
...@@ -353,18 +389,22 @@ bundle.getAllApplicationInfo(bundleFlags, userId) ...@@ -353,18 +389,22 @@ bundle.getAllApplicationInfo(bundleFlags, userId)
getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array\<ApplicationInfo>>): void getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback<Array\<ApplicationInfo>>): void
获取指定用户下所有已安装的应用信息,通过回调函数获取返回值 获取指定用户下所有已安装的应用信息,使用callback形式返回结果
**需要权限:** **需要权限:**
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
| ----------- | -------------------------------------- | ---- | ------------------------------------------------------ | | ----------- | -------------------------------------- | ---- | ------------------------------------------------------ |
| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。| | bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:大于等于0。|
| userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | userId | number | | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| callback | AsyncCallback<Array\<ApplicationInfo>> | 是 | 程序启动作为入参的回调函数,返回应用信息列表。 | | callback | AsyncCallback<Array\<ApplicationInfo>> | 是 | 程序启动作为入参的回调函数,返回应用信息列表。 |
**示例:** **示例:**
...@@ -393,6 +433,10 @@ queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise<Ar ...@@ -393,6 +433,10 @@ queryAbilityByWant(want: Want, bundleFlags: number, userId?: number): Promise<Ar
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -500,6 +544,10 @@ getBundleInstaller(): Promise<BundleInstaller> ...@@ -500,6 +544,10 @@ getBundleInstaller(): Promise<BundleInstaller>
ohos.permission.INSTALL_BUNDLE ohos.permission.INSTALL_BUNDLE
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -539,6 +587,10 @@ getBundleInstaller(callback: AsyncCallback<BundleInstaller>): void; ...@@ -539,6 +587,10 @@ getBundleInstaller(callback: AsyncCallback<BundleInstaller>): void;
ohos.permission.INSTALL_BUNDLE ohos.permission.INSTALL_BUNDLE
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -579,6 +631,10 @@ getLaunchWantForBundle(bundleName: string): Promise\<Want> ...@@ -579,6 +631,10 @@ getLaunchWantForBundle(bundleName: string): Promise\<Want>
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -612,6 +668,10 @@ getLaunchWantForBundle(bundleName: string, callback: AsyncCallback<Want>): void; ...@@ -612,6 +668,10 @@ getLaunchWantForBundle(bundleName: string, callback: AsyncCallback<Want>): void;
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力:**
SystemCapability.BundleManager.BundleFramework
**参数:** **参数:**
| 名称 | 类型 | 必填 | 描述 | | 名称 | 类型 | 必填 | 描述 |
...@@ -731,7 +791,6 @@ bundle.getNameForUid(uid, (err, data) => { ...@@ -731,7 +791,6 @@ bundle.getNameForUid(uid, (err, data) => {
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ------ | ------ | ------ | ------ | ------ | | ------ | ------ | ------ | ------ | ------ |
| userId | number | 是 | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | | userId | number | 是 | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| networkId | string | 是 | 是 | 网络Id,默认值:null。 |
## BundleInfo ## BundleInfo
...@@ -746,7 +805,7 @@ bundle.getNameForUid(uid, (err, data) => { ...@@ -746,7 +805,7 @@ bundle.getNameForUid(uid, (err, data) => {
| installTime | number | 是 | 否 | HAP包安装时间 | | installTime | number | 是 | 否 | HAP包安装时间 |
| updateTime | number | 是 | 否 | HAP包更新时间 | | updateTime | number | 是 | 否 | HAP包更新时间 |
| appInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 | | appInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 |
| abilityInfo | Array<AbilityInfo> | 是 | 否 | Ability的配置信息 | | abilityInfos | Array<AbilityInfo> | 是 | 否 | Ability的配置信息 |
| reqPermissions | Array<string> | 是 | 否 | 应用运行时需向系统申请的权限集合 | | reqPermissions | Array<string> | 是 | 否 | 应用运行时需向系统申请的权限集合 |
| reqPermissionDetails | Array<ReqPermissionDetail> | 是 | 否 | 应用运行时需向系统申请的权限集合的详细信息 | | reqPermissionDetails | Array<ReqPermissionDetail> | 是 | 否 | 应用运行时需向系统申请的权限集合的详细信息 |
| vendor | string | 是 | 否 | 应用包的供应商 | | vendor | string | 是 | 否 | 应用包的供应商 |
...@@ -755,7 +814,7 @@ bundle.getNameForUid(uid, (err, data) => { ...@@ -755,7 +814,7 @@ bundle.getNameForUid(uid, (err, data) => {
| compatibleVersion | number | 是 | 否 | 运行应用包所需要最低的SDK版本号 | | compatibleVersion | number | 是 | 否 | 运行应用包所需要最低的SDK版本号 |
| targetVersion | number | 是 | 否 | 运行应用包所需要最高SDK版本号 | | targetVersion | number | 是 | 否 | 运行应用包所需要最高SDK版本号 |
| isCompressNativeLibs | boolean | 是 | 否 | 是否压缩应用包的本地库,默认为true | | isCompressNativeLibs | boolean | 是 | 否 | 是否压缩应用包的本地库,默认为true |
| hapModuleInfo | Array<HapModuleInfo> | 是 | 否 | 模块的配置信息 | | hapModuleInfos | Array<HapModuleInfo> | 是 | 否 | 模块的配置信息 |
| entryModuleName | string | 是 | 否 | Entry的模块名称 | | entryModuleName | string | 是 | 否 | Entry的模块名称 |
| cpuAbi | string | 是 | 否 | 应用包的cpuAbi信息 | | cpuAbi | string | 是 | 否 | 应用包的cpuAbi信息 |
| isSilentInstallation | string | 是 | 否 | 是否通过静默安装 | | isSilentInstallation | string | 是 | 否 | 是否通过静默安装 |
...@@ -882,13 +941,7 @@ Ability信息 ...@@ -882,13 +941,7 @@ Ability信息
| readPermission | string | 是 | 否 | 读取Ability数据所需的权限 | | readPermission | string | 是 | 否 | 读取Ability数据所需的权限 |
| writePermission | string | 是 | 否 | 向Ability写数据所需的权限 | | writePermission | string | 是 | 否 | 向Ability写数据所需的权限 |
| applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 | | applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 |
| formEntity | number | 是 | 否 | 显示表单的位置 |
| minFormHeight | number | 是 | 否 | Ability的最小高度 |
| defaultFormHeight | number | 是 | 否 | Ability的默认高度 |
| minFormWidth | number | 是 | 否 | Ability的最小宽度 |
| defaultFormWidth | number | 是 | 否 | Ability的默认宽度 |
| uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI) | | uri | string | 是 | 否 | 获取Ability的统一资源标识符(URI) |
| customizeData | Map<string, Array<CustomizeData>> | 是 | 是 | Ability的自定义数据 |
| labelId | number | 是 | 否 | Ability的标签id | | labelId | number | 是 | 否 | Ability的标签id |
| subType | AbilitySubType | 是 | 否 | Ability中枚举使用的模板的子类型 | | subType | AbilitySubType | 是 | 否 | Ability中枚举使用的模板的子类型 |
| metaData | Array<Metadata> | 是 | 否 | ability的自定义元信息 | | metaData | Array<Metadata> | 是 | 否 | ability的自定义元信息 |
...@@ -922,7 +975,7 @@ Ability类型 ...@@ -922,7 +975,7 @@ Ability类型
| 名称 | 类型 | 说明 | | 名称 | 类型 | 说明 |
| ----------- | ---- | ------------------- | | ----------- | ---- | ------------------- |
| UNSPECIFIED | 0 | Ability只有一个示例 | | SINGLETON | 0 | Ability只有一个示例 |
| STANDARD | 1 | Ability有多个示例 | | STANDARD | 1 | Ability有多个示例 |
## AbilitySubType ## AbilitySubType
......
...@@ -9,15 +9,15 @@ ...@@ -9,15 +9,15 @@
import abilityAccessCtrl from '@ohos.abilityAccessCtrl' import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
``` ```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager ## abilityAccessCtrl.createAtManager
createAtManager(): AtManager createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。 访问控制管理:获取访问控制模块对象。
**系统能力:** SystemCapability.Security.AccessToken
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -40,6 +40,8 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat ...@@ -40,6 +40,8 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat
校验应用是否授予权限,使用Promise方式异步返回结果。 校验应用是否授予权限,使用Promise方式异步返回结果。
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -56,7 +58,7 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat ...@@ -56,7 +58,7 @@ verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStat
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS"); let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => { promise.then(data => {
...@@ -70,7 +72,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl ...@@ -70,7 +72,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
授予应用user grant权限,使用Promise方式异步返回结果。 授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。 **需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
...@@ -89,7 +93,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl ...@@ -89,7 +93,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS"); let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => { promise.then(data => {
...@@ -105,7 +109,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl ...@@ -105,7 +109,9 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
授予应用user grant权限,使用callback回调异步返回结果。 授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。 **需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
...@@ -119,7 +125,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl ...@@ -119,7 +125,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
let permissionFlag = 1; let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => { AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
...@@ -133,7 +139,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF ...@@ -133,7 +139,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
撤销应用user grant权限,使用Promise方式异步返回结果。 撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。 **需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
...@@ -152,7 +160,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF ...@@ -152,7 +160,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
let permissionFlag = 1; let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag); let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
...@@ -167,7 +175,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF ...@@ -167,7 +175,9 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
撤销应用user grant权限,使用callback回调异步返回结果。 撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。 **需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
...@@ -181,7 +191,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF ...@@ -181,7 +191,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => { AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`); console.log(`callback: data->${JSON.stringify(data)}`);
...@@ -194,6 +204,8 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g ...@@ -194,6 +204,8 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。 获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
**系统能力:** SystemCapability.Security.AccessToken
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -210,7 +222,7 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g ...@@ -210,7 +222,7 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&g
**示例:** **示例:**
``` ```
const AtManager = abilityAccessCtrl.createAtManager(); var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0; let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS"); let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => { promise.then(data => {
...@@ -222,6 +234,8 @@ promise.then(data => { ...@@ -222,6 +234,8 @@ promise.then(data => {
表示授权状态的枚举。 表示授权状态的枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Security.AccessToken
| 名称 | 默认值 | 描述 | | 名称 | 默认值 | 描述 |
| ----------------------------- | ---------------------- | ----------------------- | | ----------------------------- | ---------------------- | ----------------------- |
| PERMISSION_DENIED | -1 | 表示未授权。 | | PERMISSION_DENIED | -1 | 表示未授权。 |
......
...@@ -1366,15 +1366,17 @@ getAuthenticatorCallback(sessionId: string, callback: AsyncCallback&lt;Authentic ...@@ -1366,15 +1366,17 @@ getAuthenticatorCallback(sessionId: string, callback: AsyncCallback&lt;Authentic
``` ```
const appAccountManager = account_appAccount.createAppAccountManager(); const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant((err, want) => { featureAbility.getWant((err, want) => {
var sessionId = want.parameters[Constants.KEY_SESSION_ID]; var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => { appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {
if (err.code != ResultCode.SUCCESS) { if (err.code != account_appAccount.ResultCode.SUCCESS) {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
return; return;
} }
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo", var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"}; [account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
callback.OnResult(ResultCode.SUCCESS, result); [account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}); });
}); });
``` ```
...@@ -1402,11 +1404,13 @@ getAuthenticatorCallback(sessionId: string): Promise&lt;AuthenticatorCallback&gt ...@@ -1402,11 +1404,13 @@ getAuthenticatorCallback(sessionId: string): Promise&lt;AuthenticatorCallback&gt
``` ```
const appAccountManager = account_appAccount.createAppAccountManager(); const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant().then((want) => { featureAbility.getWant().then((want) => {
var sessionId = want.parameters[Constants.KEY_SESSION_ID]; var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => { appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo", var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"}; [account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
callback.OnResult(ResultCode.SUCCESS, result); [account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => { }).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
}); });
...@@ -1561,9 +1565,11 @@ onResult: (code: number, result: {[key: string]: any}) =&gt; void; ...@@ -1561,9 +1565,11 @@ onResult: (code: number, result: {[key: string]: any}) =&gt; void;
const appAccountManager = account_appAccount.createAppAccountManager(); const appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234"; var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => { appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
var result = {Constants.KEY_NAME: "LiSi", Constants.KEY_OWNER: "com.example.ohos.accountjsdemo", var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
Constants.KEY_AUTH_TYPE: "readAge", Constants.KEY_TOKEN: "xxxxxx"}; [account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",
callback.OnResult(ResultCode.SUCCESS, result); [account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => { }).catch((err) => {
console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
}); });
...@@ -1592,8 +1598,10 @@ onRequestRedirected: (request: Want) =&gt; void; ...@@ -1592,8 +1598,10 @@ onRequestRedirected: (request: Want) =&gt; void;
} }
authenticate(name, authType, callerBundleName, options, callback) { authenticate(name, authType, callerBundleName, options, callback) {
var result = {Constants.KEY_NAME: name, Constants.KEY_AUTH_TYPE: authType, Constants.KEY_TOKEN: "xxxxxx"}; var result = {[account_appAccount.Constants.KEY_NAME]: name,
callback.onResult(ResultCode.SUCCESS, result); [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
} }
} }
``` ```
...@@ -1643,8 +1651,10 @@ authenticate(name: string, authType: string, callerBundleName: string, options: ...@@ -1643,8 +1651,10 @@ authenticate(name: string, authType: string, callerBundleName: string, options:
} }
authenticate(name, authType, callerBundleName, options, callback) { authenticate(name, authType, callerBundleName, options, callback) {
var result = {Constants.KEY_NAME: name, Constants.KEY_AUTH_TYPE: authType, Constants.KEY_TOKEN: "xxxxxx"}; var result = {[account_appAccount.Constants.KEY_NAME]: name,
callback.onResult(ResultCode.SUCCESS, result); [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
} }
} }
......
...@@ -73,7 +73,7 @@ function queryFaultLogCallback(error, value) { ...@@ -73,7 +73,7 @@ function queryFaultLogCallback(error, value) {
} }
} }
} }
faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH, queryFaultLogCallback); faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
``` ```
## faultLogger.querySelfFaultLog ## faultLogger.querySelfFaultLog
...@@ -97,8 +97,9 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g ...@@ -97,8 +97,9 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g
**示例:** **示例:**
``` ```
let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH); async function getLog() {
if (value) { let value = await faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length); console.info("value length is " + value.length);
let len = value.length; let len = value.length;
for (let i = 0; i < len; i++) { for (let i = 0; i < len; i++) {
...@@ -112,5 +113,6 @@ if (value) { ...@@ -112,5 +113,6 @@ if (value) {
console.info("Log summary: " + value[i].summary); console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog); console.info("Log text: " + value[i].fullLog);
} }
}
} }
``` ```
...@@ -68,7 +68,7 @@ add(element: T): boolean ...@@ -68,7 +68,7 @@ add(element: T): boolean
``` ```
let linkedList = new LinkedList(); let linkedList = new LinkedList();
let result = linkedList.add("a"); let result = linkedList.add("a");
let result = linkedList.add(1); let result1 = linkedList.add(1);
let b = [1, 2, 3]; let b = [1, 2, 3];
linkedList.add(b); linkedList.add(b);
let c = {name : "lala", age : "13"}; let c = {name : "lala", age : "13"};
......
...@@ -387,7 +387,7 @@ removeOsAccount(localId: number, callback: AsyncCallback&lt;void&gt;): void ...@@ -387,7 +387,7 @@ removeOsAccount(localId: number, callback: AsyncCallback&lt;void&gt;): void
var createIocalId; var createIocalId;
osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{ osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
createIocalId = osAccountInfo.localId; createIocalId = osAccountInfo.localId;
)}; });
accountManager.removeOsAccount(createIocalId, (err)=>{ accountManager.removeOsAccount(createIocalId, (err)=>{
console.log("removeOsAccount err:" + JSON.stringify(err)); console.log("removeOsAccount err:" + JSON.stringify(err));
}); });
...@@ -418,7 +418,7 @@ removeOsAccount(localId: number): Promise&lt;void&gt; ...@@ -418,7 +418,7 @@ removeOsAccount(localId: number): Promise&lt;void&gt;
var createIocalId; var createIocalId;
osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{ osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
createIocalId = osAccountInfo.localId; createIocalId = osAccountInfo.localId;
)}; });
createIocalId = osAccount.localId; createIocalId = osAccount.localId;
accountManager.removeOsAccount(createIocalId).then(() => { accountManager.removeOsAccount(createIocalId).then(() => {
console.log('removeOsAccount Success'); console.log('removeOsAccount Success');
......
...@@ -117,7 +117,7 @@ let result = plainArray.get(1); ...@@ -117,7 +117,7 @@ let result = plainArray.get(1);
getIndexOfKey(key: number): number; getIndexOfKey(key: number): number;
查找指定key第一次出现的下标值,如果没有找到该元素返回-1。 查找指定key第一次出现的下标值,如果没有找到该key返回-1。
**参数:** **参数:**
...@@ -145,19 +145,19 @@ let result = plainArray.getIndexOfKey("sdfs"); ...@@ -145,19 +145,19 @@ let result = plainArray.getIndexOfKey("sdfs");
getIndexOfValue(value: T): number; getIndexOfValue(value: T): number;
查找指定元素第一次出现的下标值,如果没有找到该元素返回-1。 查找指定value元素第一次出现的下标值,如果没有找到该value元素返回-1。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素。 | | value | T | 是 | 指定value元素。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回指定元素第一次出现时的下标值,查找失败返回-1。 | | number | 返回指定value元素第一次出现时的下标值,查找失败返回-1。 |
**示例:** **示例:**
......
...@@ -9,19 +9,16 @@ ...@@ -9,19 +9,16 @@
## 导入模块 ## 导入模块
``` ```
import runninglock from '@ohos.runningLock'; import runningLock from '@ohos.runningLock';
``` ```
## 系统能力
SystemCapability.PowerManager.PowerManager.Core
## RunningLockType ## RunningLockType
RunningLock锁的类型。 RunningLock锁的类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.PowerManager.PowerManager.Core
| 名称 | 默认值 | 描述 | | 名称 | 默认值 | 描述 |
| ------------------------ | ---- | ------------------- | | ------------------------ | ---- | ------------------- |
| BACKGROUND | 1 | 阻止系统休眠的锁。 | | BACKGROUND | 1 | 阻止系统休眠的锁。 |
...@@ -34,6 +31,8 @@ isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback&lt;boo ...@@ -34,6 +31,8 @@ isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback&lt;boo
查询系统是否支持该类型的锁。 查询系统是否支持该类型的锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -60,6 +59,8 @@ isRunningLockTypeSupported(type: RunningLockType): Promise&lt;boolean&gt; ...@@ -60,6 +59,8 @@ isRunningLockTypeSupported(type: RunningLockType): Promise&lt;boolean&gt;
查询系统是否支持该类型的锁。 查询系统是否支持该类型的锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -91,7 +92,9 @@ createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback&l ...@@ -91,7 +92,9 @@ createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback&l
创建RunningLock锁。 创建RunningLock锁。
**需要权限:**ohos.permission.RUNNING_LOCK **系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**参数:** **参数:**
...@@ -124,7 +127,9 @@ createRunningLock(name: string, type: RunningLockType): Promise&lt;RunningLock&g ...@@ -124,7 +127,9 @@ createRunningLock(name: string, type: RunningLockType): Promise&lt;RunningLock&g
创建Runninglock锁。 创建Runninglock锁。
**需要权限:**ohos.permission.RUNNING_LOCK **系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**参数:** **参数:**
...@@ -163,6 +168,8 @@ lock(timeout: number): void ...@@ -163,6 +168,8 @@ lock(timeout: number): void
锁定和持有RunningLock。 锁定和持有RunningLock。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
...@@ -189,6 +196,8 @@ unlock(): void ...@@ -189,6 +196,8 @@ unlock(): void
释放Runninglock锁。 释放Runninglock锁。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**示例:** **示例:**
``` ```
...@@ -209,6 +218,8 @@ isUsed(): boolean ...@@ -209,6 +218,8 @@ isUsed(): boolean
查询当前Runninglock是持有状态还是释放状态。 查询当前Runninglock是持有状态还是释放状态。
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------- | ------------------------------------- | | ------- | ------------------------------------- |
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
## 导入模块 ## 导入模块
```js ```js
import storagestatistics from "@ohos.storagestatistics"; import storagestatistics from "@ohos.storageStatistics";
``` ```
## 系统能力 ## 系统能力
...@@ -61,6 +61,7 @@ getTotalSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):v ...@@ -61,6 +61,7 @@ getTotalSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):v
let uuid = ""; let uuid = "";
storagestatistics.getTotalSizeOfVolume(uuid, function(error, number){ storagestatistics.getTotalSizeOfVolume(uuid, function(error, number){
// do something // do something
console.info("getTotalSizeOfVolume successfully:"+ number);
}); });
``` ```
...@@ -115,20 +116,20 @@ getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):vo ...@@ -115,20 +116,20 @@ getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):vo
let uuid = ""; let uuid = "";
storagestatistics.getFreeSizeOfVolume(uuid, function(error, number){ storagestatistics.getFreeSizeOfVolume(uuid, function(error, number){
// do something // do something
console.info("getFreeSizeOfVolume successfully:"+ number);
}); });
``` ```
## storagestatistics.getBundleStats ## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(volumeUuid: string, packageName:String, ): Promise&lt;BundleStats&gt; getBundleStats(packageName:String, ): Promise&lt;BundleStats&gt;
异步获取指定卷上的应用存储状态,以promise方式返回。 异步获取应用存储状态,以promise方式返回。
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | -------- | | ----------- | ------ | ---- | -------- |
| volumeUuid | string | 是 | 卷id |
| packageName | string | 是 | 应用包名 | | packageName | string | 是 | 应用包名 |
- 返回值 - 返回值
...@@ -140,35 +141,33 @@ getBundleStats(volumeUuid: string, packageName:String, ): Promise&lt;BundleStat ...@@ -140,35 +141,33 @@ getBundleStats(volumeUuid: string, packageName:String, ): Promise&lt;BundleStat
- 示例 - 示例
```js ```js
let uuid = "";
let packageName = ""; let packageName = "";
storagestatistics.getBundleStats(uuid, packageName).then(function(BundleStats){ storagestatistics.getBundleStats(packageName).then(function(BundleStats){
console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats)); console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
}).catch(function(err){ }).catch(function(err){
console.info("getBundleStats failed with error:"+ err); console.info("getBundleStats failed with error:"+ err);
}); });
``` ```
## storagestatistics.getBundleStats ## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(volumeUuid: string, callback:AsyncCallback&lt;BundleStats&gt;):void getBundleStats(callback:AsyncCallback&lt;BundleStats&gt;):void
异步获取指定卷上的应用存储状态,以callback方式返回。 异步获取应用存储状态,以callback方式返回。
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ---------- | --------------------------------------------------------- | ---- | ------------------------------------ | | -------- | --------------------------------------------------------- | ---- | ------------------------------------ |
| volumeUuid | string | 是 | 卷id |
| callback | callback:AsyncCallback&lt;[Bundlestats](#bundlestats)&gt; | 是 | 获取指定卷上的应用存储状态之后的回调 | | callback | callback:AsyncCallback&lt;[Bundlestats](#bundlestats)&gt; | 是 | 获取指定卷上的应用存储状态之后的回调 |
- 示例 - 示例
```js ```js
let uuid = "";
let packageName = ""; let packageName = "";
storagestatistics.getBundleStats(uuid, packageName, function(error, BundleStats){ storagestatistics.getBundleStats(packageName, function(error, BundleStats){
// do something // do something
console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
}); });
``` ```
......
...@@ -114,7 +114,7 @@ has(element: T): boolean ...@@ -114,7 +114,7 @@ has(element: T): boolean
let vector = new Vector(); let vector = new Vector();
let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); vector.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let result = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let result1 = vector.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` ```
### getIndexOf ### getIndexOf
......
...@@ -13,118 +13,152 @@ import window from '@ohos.window'; ...@@ -13,118 +13,152 @@ import window from '@ohos.window';
窗口类型。 窗口类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| ----------------- | ------ | ------------------------------------------------------------ | | ----------------- | ------ | ------------------ |
| TYPE_APP | 0 | 表示应用子窗口。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | TYPE_APP | 0 | 表示应用子窗口。 |
| TYPE_SYSTEM_ALERT | 1 | 表示系统告警窗口。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | TYPE_SYSTEM_ALERT | 1 | 表示系统告警窗口。 |
## AvoidAreaType<sup>7+</sup><a name="avoidareatype"></a> ## AvoidAreaType<sup>7+</sup><a name="avoidareatype"></a>
窗口内容需要规避区域的类型。 窗口内容需要规避区域的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| ----------- | ------ | ------------------------------------------------------------ | | ----------- | ------ | ------------------ |
| TYPE_SYSTEM | 0 | 表示系统默认区域。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | TYPE_SYSTEM | 0 | 表示系统默认区域。 |
| TYPE_CUTOUT | 1 | 表示刘海屏区域。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | TYPE_CUTOUT | 1 | 表示刘海屏区域。 |
## WindowMode<sup>7+</sup><a name="windowmode"></a> ## WindowMode<sup>7+</sup><a name="windowmode"></a>
窗口模式。 窗口模式。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| ---------- | ------ | ------------------------------------------------------------ | | ---------- | ------ | ----------------------------- |
| UNDEFINED | 1 | 表示APP未定义窗口模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | UNDEFINED | 1 | 表示APP未定义窗口模式。 |
| FULLSCREEN | 2 | 表示APP全屏模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | FULLSCREEN | 2 | 表示APP全屏模式。 |
| PRIMARY | 3 | 表示APP分屏多窗口主要模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | PRIMARY | 3 | 表示APP分屏多窗口主要模式。 |
| SECONDARY | 4 | 表示APP分屏多窗口次要模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | SECONDARY | 4 | 表示APP分屏多窗口次要模式。 |
| FLOATING | 5 | 表示APP自由悬浮形式窗口模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | FLOATING | 5 | 表示APP自由悬浮形式窗口模式。 |
## SystemBarProperties<a name="systembarproperties"></a> ## SystemBarProperties<a name="systembarproperties"></a>
状态栏导航栏的属性。 状态栏导航栏的属性。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ | | -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
| statusBarColor | string | 是 | 是 | 状态栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | statusBarColor | string | 是 | 是 | 状态栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 状态栏图标是否为高亮状态。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 状态栏图标是否为高亮状态。 |
| statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 状态栏文字颜色。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 状态栏文字颜色。 |
| navigationBarColor | string | 是 | 是 | 导航栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | navigationBarColor | string | 是 | 是 | 导航栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 否 | 导航栏图标是否为高亮状态。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 否 | 导航栏图标是否为高亮状态。 |
| navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 导航栏文字颜色。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 导航栏文字颜色。 |
## SystemBarRegionTint <sup>8+</sup><a name="systembartegiontint"></a> ## SystemBarRegionTint <sup>8+</sup><a name="systembartegiontint"></a>
单个导航栏或状态栏回调信息。 单个导航栏或状态栏回调信息。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | | --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
| type | [WindowType](#windowtype) | 是 | 是 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | type | [WindowType](#windowtype) | 是 | 是 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
| isEnable | boolean | 是 | 是 | 当前系统栏是否显示。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | isEnable | boolean | 是 | 是 | 当前系统栏是否显示。 |
| region | [Rect](#rect) | 是 | 是 | 当前系统栏的位置及大小。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | region | [Rect](#rect) | 是 | 是 | 当前系统栏的位置及大小。 |
| backgroundColor | string | 是 | 是 | 系统栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | backgroundColor | string | 是 | 是 | 系统栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| contentColor | string | 是 | 是 | 系统栏文字颜色。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | contentColor | string | 是 | 是 | 系统栏文字颜色。 |
## SystemBarTintState <sup>8+</sup><a name="systembartintstate"></a> ## SystemBarTintState <sup>8+</sup><a name="systembartintstate"></a>
当前系统栏回调信息集合。 当前系统栏回调信息集合。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---------- | -------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | ---------- | -------------------------------------------------- | ---- | ---- | -------------------------- |
| displayId | number | 是 | 否 | 当前物理屏幕id。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | displayId | number | 是 | 否 | 当前物理屏幕id。 |
| regionTint | Array<[SystemBarRegionTint](#systembartegiontint)> | 是 | 是 | 当前改变所有的系统栏信息。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | regionTint | Array<[SystemBarRegionTint](#systembartegiontint)> | 是 | 是 | 当前改变所有的系统栏信息。 |
## Rect<sup>7+</sup><a name="rect"></a> ## Rect<sup>7+</sup><a name="rect"></a>
矩形。 矩形。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------ | -------- | ---- | ---- | ------------------------------------------------------------ | | ------ | -------- | ---- | ---- | ------------------ |
| left | number | 是 | 是 | 矩形区域的左边界。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | left | number | 是 | 是 | 矩形区域的左边界。 |
| top | number | 是 | 是 | 矩形区域的上边界。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | top | number | 是 | 是 | 矩形区域的上边界。 |
| width | number | 是 | 是 | 矩形区域的宽度。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | width | number | 是 | 是 | 矩形区域的宽度。 |
| height | number | 是 | 是 | 矩形区域的高度。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | height | number | 是 | 是 | 矩形区域的高度。 |
## AvoidArea<sup>7+</sup><a name="avoidarea"></a> ## AvoidArea<sup>7+</sup><a name="avoidarea"></a>
表示窗口内容规避区域。 表示窗口内容规避区域。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---------- | ------------- | ---- | ---- | ------------------------------------------------------------ | | ---------- | ------------- | ---- | ---- | ------------------ |
| leftRect | [Rect](#rect) | 是 | 是 | 屏幕左侧的矩形区。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | leftRect | [Rect](#rect) | 是 | 是 | 屏幕左侧的矩形区。 |
| topRect | [Rect](#rect) | 是 | 是 | 屏幕顶部的矩形区。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | topRect | [Rect](#rect) | 是 | 是 | 屏幕顶部的矩形区。 |
| rightRect | [Rect](#rect) | 是 | 是 | 屏幕右侧的矩形区。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | rightRect | [Rect](#rect) | 是 | 是 | 屏幕右侧的矩形区。 |
| bottomRect | [Rect](#rect) | 是 | 是 | 屏幕底部的矩形区。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | bottomRect | [Rect](#rect) | 是 | 是 | 屏幕底部的矩形区。 |
## Size<sup>7+</sup><a name="size"></a> ## Size<sup>7+</sup><a name="size"></a>
窗口大小。 窗口大小。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------ | -------- | ---- | ---- | ------------------------------------------------------------ | | ------ | -------- | ---- | ---- | ---------- |
| width | number | 是 | 是 | 窗口宽度。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | width | number | 是 | 是 | 窗口宽度。 |
| height | number | 是 | 是 | 窗口高度。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | height | number | 是 | 是 | 窗口高度。 |
## WindowProperties<a name="windowproperties"></a> ## WindowProperties<a name="windowproperties"></a>
窗口属性。 窗口属性。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | | ------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
| windowRect<sup>7+</sup> | [Rect](#rect) | 是 | 是 | 窗口尺寸。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | windowRect<sup>7+</sup> | [Rect](#rect) | 是 | 是 | 窗口尺寸。 |
| type<sup>7+</sup> | [WindowType](#windowtype) | 是 | 是 | 窗口类型。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | type<sup>7+</sup> | [WindowType](#windowtype) | 是 | 是 | 窗口类型。 |
| isFullScreen | boolean | 是 | 是 | 是否全屏,默认为false。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | isFullScreen | boolean | 是 | 是 | 是否全屏,默认为false。 |
| isLayoutFullScreen<sup>7+</sup> | boolean | 是 | 是 | 窗口是否为沉浸式,默认为false。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | isLayoutFullScreen<sup>7+</sup> | boolean | 是 | 是 | 窗口是否为沉浸式,默认为false。 |
| focusable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可聚焦,默认为true。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | focusable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可聚焦,默认为true。 |
| touchable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可触摸,默认为true。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | touchable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可触摸,默认为true。 |
| brightness | number | 是 | 是 | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| dimBehindValue<sup>7+</sup> | number | 是 | 是 | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isKeepScreenOn | boolean | 是 | 是 | 屏幕是否常亮,默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isPrivacyMode<sup>7+</sup> | boolean | 是 | 是 | 隐私模式,默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isRoundCorner<sup>7+</sup> | boolean | 是 | 是 | 窗口是否为圆角。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isTransparent<sup>7+</sup> | boolean | 是 | 是 | 窗口是否透明。默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
## ColorSpace<sup>8+</sup><a name="colorspace"></a> ## ColorSpace<sup>8+</sup><a name="colorspace"></a>
色域模式。 色域模式。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| ---------- | ------ | ------------------------------------------------------------ | | ---------- | ------ | -------------- |
| DEFAULT | 0 | 默认色域模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | DEFAULT | 0 | 默认色域模式。 |
| WIDE_GAMUT | 1 | 广色域模式。<br/>**系统能力**:SystemCapability.WindowManager.WindowManager.Core | | WIDE_GAMUT | 1 | 广色域模式。 |
## window.create<sup>7</sup><a name="window-create"></a> ## window.create<sup>7</sup><a name="window-create"></a>
...@@ -145,12 +179,13 @@ create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): voi ...@@ -145,12 +179,13 @@ create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): voi
- 示例 - 示例
``` ```
var windowClass = null;
window.create("first", window.WindowType.TYPE_APP, (err, data) => { window.create("first", window.WindowType.TYPE_APP, (err, data) => {
windowClass = data;
if (err.code) { if (err.code) {
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
return; return;
} }
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data)) console.info('SubWindow created. Data: ' + JSON.stringify(data))
windowClass.resetSize(500, 1000); windowClass.resetSize(500, 1000);
}); });
...@@ -180,8 +215,10 @@ create(id: string, type: WindowType): Promise&lt;Window&gt; ...@@ -180,8 +215,10 @@ create(id: string, type: WindowType): Promise&lt;Window&gt;
- 示例 - 示例
``` ```
var windowClass = null;
let promise = window.create("first", window.WindowType.TYPE_APP); let promise = window.create("first", window.WindowType.TYPE_APP);
promise.then((data)=> { promise.then((data)=> {
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data)) console.info('SubWindow created. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
...@@ -208,12 +245,13 @@ create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback&lt;Wi ...@@ -208,12 +245,13 @@ create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback&lt;Wi
- 示例 - 示例
``` ```
var windowClass = null;
window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => { window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
windowClass = data;
if (err.code) { if (err.code) {
console.error('Failed to create the Window. Cause: ' + JSON.stringify(err)); console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
return; return;
} }
windowClass = data;
console.info('Window created. Data: ' + JSON.stringify(data)) console.info('Window created. Data: ' + JSON.stringify(data))
windowClass.resetSize(500, 1000); windowClass.resetSize(500, 1000);
}); });
...@@ -244,8 +282,10 @@ create(ctx: Context, id: string, type: WindowType): Promise&lt;Window&gt; ...@@ -244,8 +282,10 @@ create(ctx: Context, id: string, type: WindowType): Promise&lt;Window&gt;
- 示例 - 示例
``` ```
var windowClass = null;
let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT); let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT);
promise.then((data)=> { promise.then((data)=> {
windowClass = data;
console.info('Window created. Data: ' + JSON.stringify(data)) console.info('Window created. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to create the Window. Cause: ' + JSON.stringify(err)); console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
...@@ -270,13 +310,14 @@ find(id: string, callback: AsyncCallback&lt;Window&gt;): void ...@@ -270,13 +310,14 @@ find(id: string, callback: AsyncCallback&lt;Window&gt;): void
- 示例 - 示例
``` ```
window.find("first", (err, data) => { var windowClass = null;
window.find("alertWindow", (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err)); console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('window found. Data: ' + JSON.stringify(data))
windowClass = data; windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -303,8 +344,10 @@ find(id: string): Promise&lt;Window&gt; ...@@ -303,8 +344,10 @@ find(id: string): Promise&lt;Window&gt;
- 示例 - 示例
``` ```
let promise = window.find("first"); var windowClass = null;
let promise = window.find("alertWindow");
promise.then((data)=> { promise.then((data)=> {
windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data)) console.info('window found. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err)); console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
...@@ -328,13 +371,14 @@ getTopWindow(callback: AsyncCallback&lt;Window&gt;): void ...@@ -328,13 +371,14 @@ getTopWindow(callback: AsyncCallback&lt;Window&gt;): void
- 示例 - 示例
``` ```
var windowClass = null;
window.getTopWindow((err, data) => { window.getTopWindow((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
windowClass = data; windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}); });
``` ```
...@@ -355,8 +399,10 @@ getTopWindow(): Promise&lt;Window&gt; ...@@ -355,8 +399,10 @@ getTopWindow(): Promise&lt;Window&gt;
- 示例 - 示例
``` ```
var windowClass = null;
let promise = window.getTopWindow(); let promise = window.getTopWindow();
promise.then((data)=> { promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)) console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
...@@ -381,13 +427,14 @@ getTopWindow(ctx: Context, callback: AsyncCallback&lt;Window&gt;): void ...@@ -381,13 +427,14 @@ getTopWindow(ctx: Context, callback: AsyncCallback&lt;Window&gt;): void
- 示例 - 示例
``` ```
var windowClass = null;
window.getTopWindow(this.context, (err, data) => { window.getTopWindow(this.context, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
windowClass = data; windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}); });
``` ```
...@@ -414,8 +461,10 @@ getTopWindow(ctx: Context): Promise&lt;Window&gt; ...@@ -414,8 +461,10 @@ getTopWindow(ctx: Context): Promise&lt;Window&gt;
- 示例 - 示例
``` ```
var windowClass = null;
let promise = window.getTopWindow(this.context); let promise = window.getTopWindow(this.context);
promise.then((data)=> { promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)) console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
...@@ -428,6 +477,8 @@ on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): v ...@@ -428,6 +477,8 @@ on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): v
注册状态栏、导航栏的监听函数。 注册状态栏、导航栏的监听函数。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数 - 参数
...@@ -452,6 +503,8 @@ off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;) ...@@ -452,6 +503,8 @@ off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;)
关闭监听。 关闭监听。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数 - 参数
...@@ -478,6 +531,8 @@ hide (callback: AsyncCallback&lt;void&gt;): void ...@@ -478,6 +531,8 @@ hide (callback: AsyncCallback&lt;void&gt;): void
隐藏当前窗口,使用callback方式作为异步方法。 隐藏当前窗口,使用callback方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数 - 参数
...@@ -489,12 +544,12 @@ hide (callback: AsyncCallback&lt;void&gt;): void ...@@ -489,12 +544,12 @@ hide (callback: AsyncCallback&lt;void&gt;): void
- 示例 - 示例
``` ```
windowClass.hide((err) => { windowClass.hide((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('window hidden.') console.info('window hidden. data: ' + JSON.stringify(data))
}) })
``` ```
...@@ -504,6 +559,8 @@ hide(): Promise&lt;void&gt; ...@@ -504,6 +559,8 @@ hide(): Promise&lt;void&gt;
隐藏当前窗口,使用Promise方式作为异步方法。 隐藏当前窗口,使用Promise方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值 - 返回值
...@@ -516,8 +573,8 @@ hide(): Promise&lt;void&gt; ...@@ -516,8 +573,8 @@ hide(): Promise&lt;void&gt;
``` ```
let promise = windowClass.hide(); let promise = windowClass.hide();
promise.then(()=> { promise.then((data)=> {
console.info('window hidden.') console.info('window hidden. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
}) })
...@@ -540,12 +597,12 @@ show(callback: AsyncCallback&lt;void&gt;): void ...@@ -540,12 +597,12 @@ show(callback: AsyncCallback&lt;void&gt;): void
- 示例 - 示例
``` ```
windowClass.show((err) => { windowClass.show((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in showing the window.') console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
}) })
``` ```
...@@ -567,8 +624,8 @@ show(): Promise&lt;void&gt; ...@@ -567,8 +624,8 @@ show(): Promise&lt;void&gt;
``` ```
let promise = windowClass.show(); let promise = windowClass.show();
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in showing the window.') console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
}) })
...@@ -591,12 +648,12 @@ destroy(callback: AsyncCallback&lt;void&gt;): void ...@@ -591,12 +648,12 @@ destroy(callback: AsyncCallback&lt;void&gt;): void
- 示例 - 示例
``` ```
windowClass.destroy((err) => { windowClass.destroy((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to destroy the window. Cause:' + JSON.stringify(err)); console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in destroying the window.') console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
}) })
``` ```
...@@ -618,8 +675,8 @@ destroy(): Promise&lt;void&gt; ...@@ -618,8 +675,8 @@ destroy(): Promise&lt;void&gt;
``` ```
let promise = windowClass.destroy(); let promise = windowClass.destroy();
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in destroying the window.') console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err)); console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
}) })
...@@ -644,12 +701,12 @@ moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void ...@@ -644,12 +701,12 @@ moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
- 示例 - 示例
``` ```
windowClass.moveTo(300, 300, (err)=>{ windowClass.moveTo(300, 300, (err, data)=>{
if (err.code) { if (err.code) {
console.error('Failed to move the window. Cause:' + JSON.stringify(err)); console.error('Failed to move the window. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Window moved.'); console.info('Window moved. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -679,8 +736,8 @@ moveTo(x: number, y: number): Promise&lt;void&gt; ...@@ -679,8 +736,8 @@ moveTo(x: number, y: number): Promise&lt;void&gt;
``` ```
let promise = windowClass.moveTo(300, 300); let promise = windowClass.moveTo(300, 300);
promise.then(()=> { promise.then((data)=> {
console.info('Window moved.') console.info('Window moved. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to move the window. Cause: ' + JSON.stringify(err)); console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
}) })
...@@ -705,12 +762,12 @@ resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): v ...@@ -705,12 +762,12 @@ resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): v
- 示例 - 示例
``` ```
windowClass.resetSize(500, 1000, (err) => { windowClass.resetSize(500, 1000, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to change the window size. Cause:' + JSON.stringify(err)); console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Window size changed.'); console.info('Window size changed. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -739,8 +796,8 @@ resetSize(width: number, height: number): Promise&lt;void&gt; ...@@ -739,8 +796,8 @@ resetSize(width: number, height: number): Promise&lt;void&gt;
``` ```
let promise = windowClass.resetSize(500, 1000); let promise = windowClass.resetSize(500, 1000);
promise.then(()=> { promise.then((data)=> {
console.info('Window size changed.') console.info('Window size changed. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to change the window size. Cause: ' + JSON.stringify(err)); console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
}); });
...@@ -752,6 +809,8 @@ setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void ...@@ -752,6 +809,8 @@ setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
设置窗口类型,使用callback方式作为异步方法。 设置窗口类型,使用callback方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数 - 参数
...@@ -765,12 +824,12 @@ setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void ...@@ -765,12 +824,12 @@ setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
``` ```
var type = window.TYPE_APP; var type = window.TYPE_APP;
windowClass.setWindowType(type, (err) => { windowClass.setWindowType(type, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in setting the window type.') console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -780,6 +839,8 @@ setWindowType(type: WindowType): Promise&lt;void&gt; ...@@ -780,6 +839,8 @@ setWindowType(type: WindowType): Promise&lt;void&gt;
设置窗口类型,使用Promise方式作为异步方法。 设置窗口类型,使用Promise方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core **系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数 - 参数
...@@ -799,8 +860,8 @@ setWindowType(type: WindowType): Promise&lt;void&gt; ...@@ -799,8 +860,8 @@ setWindowType(type: WindowType): Promise&lt;void&gt;
``` ```
var type = window.TYPE_APP; var type = window.TYPE_APP;
let promise = windowClass.setWindowType(type); let promise = windowClass.setWindowType(type);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in setting the window type.') console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
}); });
...@@ -935,12 +996,12 @@ setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void ...@@ -935,12 +996,12 @@ setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
``` ```
var isFullScreen = true; var isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err) => { windowClass.setFullScreen(isFullScreen, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in enabling the full-screen mode.'); console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -969,8 +1030,8 @@ setFullScreen(isFullScreen: boolean): Promise&lt;void&gt; ...@@ -969,8 +1030,8 @@ setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;
``` ```
var isFullScreen = true; var isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen); let promise = windowClass.setFullScreen(isFullScreen);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in enabling the full-screen mode.')) console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
}); });
...@@ -995,12 +1056,12 @@ setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void ...@@ -995,12 +1056,12 @@ setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void
``` ```
var isLayoutFullScreen= true; var isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => { windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in setting the window layout to full-screen mode.'); console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -1029,8 +1090,8 @@ setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt; ...@@ -1029,8 +1090,8 @@ setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
``` ```
var isLayoutFullScreen = true; var isLayoutFullScreen = true;
let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen); let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in setting the window layout to full-screen mode.')) console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
}); });
...@@ -1055,12 +1116,12 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallbac ...@@ -1055,12 +1116,12 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallbac
``` ```
var names = ["status", "navigation"]; var names = ["status", "navigation"];
windowClass.setSystemBarEnable(names, (err) => { windowClass.setSystemBarEnable(names, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err)); console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in setting the system bar to be visible.'); console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -1089,8 +1150,8 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt; ...@@ -1089,8 +1150,8 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
``` ```
var names = ["status", "navigation"]; var names = ["status", "navigation"];
let promise = windowClass.setSystemBarEnable(names); let promise = windowClass.setSystemBarEnable(names);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in setting the system bar to be visible.')) console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err)); console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
}); });
...@@ -1121,15 +1182,15 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: Async ...@@ -1121,15 +1182,15 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: Async
isStatusBarLightIcon: true, isStatusBarLightIcon: true,
isNavigationBarLightIcon:false, isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff' statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
}; };
windowClass.setSystemBarProperties(SystemBarProperties, (err) => { windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in setting the system bar properties.'); console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -1163,20 +1224,20 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;voi ...@@ -1163,20 +1224,20 @@ setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;voi
isStatusBarLightIcon: true, isStatusBarLightIcon: true,
isNavigationBarLightIcon:false, isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持 //以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff' statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff' navigationBarContentColor:'#00ffff'
}; };
let promise = windowClass.setSystemBarProperties(SystemBarProperties); let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in setting the system bar properties.')) console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
}); });
``` ```
### loadContent<sup>8+</sup> ### loadContent<sup>7+</sup>
loadContent(path: string, storage: ContentStorage, callback: AsyncCallback&lt;void&gt;): void loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
当前窗口加载具体页面内容,使用callback方式作为异步方法。 当前窗口加载具体页面内容,使用callback方式作为异步方法。
...@@ -1187,24 +1248,23 @@ loadContent(path: string, storage: ContentStorage, callback: AsyncCallback&lt;vo ...@@ -1187,24 +1248,23 @@ loadContent(path: string, storage: ContentStorage, callback: AsyncCallback&lt;vo
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------- | | -------- | ------------------------- | ---- | -------------------- |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | ContentStorage | 否 | 当前应用内的数据。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例 - 示例
``` ```
windowClass.loadContent("pages/page2/page2", (err) => { windowClass.loadContent("pages/page2/page2", (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err)); console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in loading the content.'); console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
}); });
``` ```
### loadContent<sup>8+</sup> ### loadContent<sup>7+</sup>
loadContent(path: string, storage?: ContentStorage): Promise&lt;void&gt; loadContent(path: string): Promise&lt;void&gt;
当前窗口加载具体页面内容,使用Promise方式作为异步方法。 当前窗口加载具体页面内容,使用Promise方式作为异步方法。
...@@ -1213,9 +1273,8 @@ loadContent(path: string, storage?: ContentStorage): Promise&lt;void&gt; ...@@ -1213,9 +1273,8 @@ loadContent(path: string, storage?: ContentStorage): Promise&lt;void&gt;
- 参数 - 参数
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | -------------- | ---- | -------------------- | | ------ | ------ | ---- | -------------------- |
| path | string | 是 | 设置加载页面的路径。 | | path | string | 是 | 设置加载页面的路径。 |
| storage | ContentStorage | 否 | 当前应用内的数据。 |
- 返回值 - 返回值
...@@ -1227,8 +1286,8 @@ loadContent(path: string, storage?: ContentStorage): Promise&lt;void&gt; ...@@ -1227,8 +1286,8 @@ loadContent(path: string, storage?: ContentStorage): Promise&lt;void&gt;
``` ```
let promise = windowClass.loadContent("pages/page2/page2"); let promise = windowClass.loadContent("pages/page2/page2");
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in loading the content.')) console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to load the content. Cause: ' + JSON.stringify(err)); console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
}); });
...@@ -1251,12 +1310,12 @@ isShowing(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -1251,12 +1310,12 @@ isShowing(callback: AsyncCallback&lt;boolean&gt;): void
- 示例 - 示例
``` ```
windowClass.isShowing((err) => { windowClass.isShowing((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err)); console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in checking whether the window is showing. Cause:') console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
}); });
``` ```
...@@ -1278,8 +1337,8 @@ isShowing(): Promise&lt;boolean&gt; ...@@ -1278,8 +1337,8 @@ isShowing(): Promise&lt;boolean&gt;
``` ```
let promise = windowClass.isShowing(); let promise = windowClass.isShowing();
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in checking whether the window is showing.') console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err)); console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
}); });
...@@ -1377,6 +1436,56 @@ off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void ...@@ -1377,6 +1436,56 @@ off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void
windowClass.off(type); windowClass.off(type);
``` ```
### on('keyboardHeightChange')<sup>7+</sup>
on(type: 'keyboardHeightChange', callback: Callback&lt;number&gt;): void
开启键盘高度变化的监听。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。<br/>-&nbsp;type为'keyboardHeightChange'时表示监听类型为键盘高度变化监听。 |
| callback | Callback&lt;[AvoidArea](#avoidarea)&gt; | 是 | 回调返回监听到的信息。 |
- 示例
```
var type = 'keyboardHeightChange';
windowClass.on(type, (data) => {
console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
});
```
### off('keyboardHeightChange')<sup>7+</sup>
off(type: 'keyboardHeightChange', callback?: Callback&lt;number&gt;): void
关闭键盘高度变化的监听。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。<br/>-&nbsp;type为'keyboardHeightChange'时表示监听类型为键盘高度变化监听。 |
| callback | Callback&lt;number&gt; | 否 | 回调返回监听到的信息。 |
- 示例
```
var type = 'keyboardHeightChange';
windowClass.off(type);
```
### isSupportWideGamut<sup>8+</sup> ### isSupportWideGamut<sup>8+</sup>
isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
...@@ -1394,12 +1503,12 @@ isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -1394,12 +1503,12 @@ isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
- 示例 - 示例
``` ```
windowClass.isSupportWideGamut((err) => { windowClass.isSupportWideGamut((err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err)); console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in checking whether the window support WideGamut.') console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data))
}) })
``` ```
...@@ -1421,8 +1530,8 @@ isSupportWideGamut(): Promise&lt;boolean&gt; ...@@ -1421,8 +1530,8 @@ isSupportWideGamut(): Promise&lt;boolean&gt;
``` ```
let promise = windowClass.isSupportWideGamut(); let promise = windowClass.isSupportWideGamut();
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in checking whether the window support WideGamut.') console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err)); console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
}); });
...@@ -1446,12 +1555,12 @@ setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void ...@@ -1446,12 +1555,12 @@ setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
- 示例 - 示例
``` ```
windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => { windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => {
if (err.code) { if (err.code) {
console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err)); console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
return; return;
} }
console.info('Succeeded in setting window colorspace.') console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
}) })
``` ```
...@@ -1479,8 +1588,8 @@ setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt; ...@@ -1479,8 +1588,8 @@ setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
``` ```
let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT); let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT);
promise.then(()=> { promise.then((data)=> {
console.info('Succeeded in setting window colorspace.') console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
}).catch((err)=>{ }).catch((err)=>{
console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err)); console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err));
}); });
...@@ -1537,3 +1646,514 @@ getColorSpace(): Promise&lt;ColorSpace&gt; ...@@ -1537,3 +1646,514 @@ getColorSpace(): Promise&lt;ColorSpace&gt;
}); });
``` ```
### setBackgroundColor
setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void
设置窗口的背景色,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| color | string | 是 | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var color = '#00ff33';
windowClass.setBackgroundColor(color, (err, data) => {
if (err.code) {
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
});
```
### setBackgroundColor
setBackgroundColor(color: string): Promise&lt;void&gt;
设置窗口的背景色,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| color | string | 是 | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var color = '#00ff33';
let promise = windowClass.setBackgroundColor(color);
promise.then((data)=> {
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
});
```
### setBrightness
setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
设置屏幕亮度值,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ------------------------------------ |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var brightness = 1;
windowClass.setBrightness(brightness, (err, data) => {
if (err.code) {
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
});
```
### setBrightness
setBrightness(brightness: number): Promise&lt;void&gt;
设置屏幕亮度值,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------------------ |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var brightness = 1;
let promise = windowClass.setBrightness(brightness);
promise.then((data)=> {
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
});
```
### setDimBehind<sup>7+</sup>
setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
windowClass.setDimBehind(0.5, (err, data) => {
if (err.code) {
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data));
});
```
### setDimBehind<sup>7+</sup>
setDimBehind(dimBehindValue: number): Promise&lt;void&gt;
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
let promise = windowClass.setDimBehind(0.5);
promise.then((data)=> {
console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
});
```
### setFocusable<sup>7+</sup>
setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
设置点击时是否支持切换焦点窗口,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | ---------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var isFocusable= true;
windowClass.setFocusable(isFocusable, (err, data) => {
if (err.code) {
console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
});
```
### setFocusable<sup>7+</sup>
setFocusable(isFocusable: boolean): Promise&lt;void&gt;
设置点击时是否支持切换焦点窗口,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | ---- | ---------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var isFocusable= true;
let promise = windowClass.setFocusable(isFocusable);
promise.then((data)=> {
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
});
```
### setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
设置屏幕是否为常亮状态,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是 | 是否设置为屏幕常亮状态。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var isKeepScreenOn = true;
windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => {
if (err.code) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
});
```
### setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
设置屏幕是否为常亮状态,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是 | 是否设置为屏幕常亮状态。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var isKeepScreenOn= true;
let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
promise.then((data)=> {
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
});
```
### setOutsideTouchable<sup>7+</sup>
setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
设置是否允许可点击子窗口以外的区域,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------- |
| touchable | boolean | 是 | 设置是否可点击。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
windowClass.setOutsideTouchable(true, (err, data) => {
if (err.code) {
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
})
```
### setOutsideTouchable<sup>7+</sup>
setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
设置是否允许可点击子窗口以外的区域,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------- | ---- | ---------------- |
| touchable | boolean | 是 | 设置是否可点击。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
let promise = windowClass.setOutsideTouchable(true);
promise.then((data)=> {
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
});
```
### setPrivacyMode<sup>7+</sup>
setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
设置窗口是否为隐私模式,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var isPrivacyMode = true;
windowClass.setPrivacyMode(isPrivacyMode, (err, data) => {
if (err.code) {
console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data));
});
```
### setPrivacyMode<sup>7+</sup>
setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
设置窗口是否为隐私模式,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var isPrivacyMode = true;
let promise = windowClass.setPrivacyMode(isPrivacyMode);
promise.then((data)=> {
console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
});
```
### setTouchable<sup>7+</sup>
setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
设置窗口是否为可触状态,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | -------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例
```
var isTouchable = true;
windowClass.setTouchable(isTouchable, (err, data) => {
if (err.code) {
console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data));
});
```
### setTouchable<sup>7+</sup>
setTouchable(isTouchable: boolean): Promise&lt;void&gt;
设置窗口是否为可触状态,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | ---- | -------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```
var isTouchable = true;
let promise = windowClass.setTouchable(isTouchable);
promise.then((data)=> {
console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
});
```
###
\ No newline at end of file
# Zip模块(JS端SDK接口)
## 使用限制
无。
## 导入模块
import zlib from '@ohos.zlib'
## zlib.zipFile
zipFile(inFile:string, outFile:string, options: Options): Promise<void>;
压缩接口(Promise形式)。
**系统能力:** SystemCapability.BundleManager.Zlib
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------- | ----------------------------------- | ---- | ------------------------------------------- |
| inFile | string | 是 | 指定压缩的文件夹路径或者文件路径 |
| outFile | string | 是 | 指定的压缩结果的文件路径(文件的扩展名zip) |
| options | [Options](#options对象可选参数说明) | 否 | 压缩的可选参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ---------------------------------------------------- |
| Promise\<void> | ERROR_CODE_OK:压缩成功 ERROR_CODE_ERRNO:压缩失败 |
**示例1:**
```javascript
//【压缩文件 例子1】
import zlib from '@ohos.zlib'
var inFile = "/xxx/filename.xxx";
var outFile = "/xxx/xxx.zip";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.zipFile(inFile, outFile, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("zipFile OK");
} else {
console.log("zipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
```
**示例2:**
```
// 【压缩文件夹 例子2】
import zlib from '@ohos.zlib'
var inFile = "/xxx/xxx";
var outFile = "/xxx/xxx.zip";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.zipFile(inFile , unzipDir, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("zipFile OK");
} else {
console.log("zipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
});
```
## zlib.unzipFile
unzipFile(inFile:string, outFile:string, options: Options): Promise<void>;
解压文件,解压完成返回执行结果(Promise形式)。
**系统能力:** SystemCapability.BundleManager.Zlib
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------- | ----------------------------------- | ---- | ----------------------------------- |
| inFile | string | 是 | 指定解压的文件路径(文件扩展名zip) |
| outFile | string | 是 | 指定的解压文件路径 |
| options | [Options](#options对象可选参数说明) | 否 | 解压的可选参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------------------------------------------ |
| Promise\<void> | ERROR_CODE_OK:解压成功 ERROR_CODE_ERRNO:解压失败返回执行结果。 |
**示例:**
```javascript
// 【解压例子1】
import zlib from '@ohos.zlib'
var inFile = "/xx/xxx.zip";
var outFile = "/xxx";
var options = {};
options.level = zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION;
options.memLevel = zlib.MemLevel.MEM_LEVEL_DEFAULT;
options.strategy = zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY;
zlib.unzipFile(inFile, outFile, options).then((data) => {
if (data == zlib.ErrorCode.ERROR_CODE_OK) {
console.log("unzipFile OK");
} else {
console.log("unzipFile NG");
}
}).catch((err)=>{
console.log("catch((err)=>" + err);
})
```
## Options对象可选参数说明
| 参数 | |
| --------------------------- | ------------------------------------------------------------ |
| level?: CompressLeve | [参考zip.CompressLevel枚举定义](#zip.CompressLevel压缩等级可选参数说明) |
| memLevel?: MemLevel | [参考zip.MemLevel枚举定义](#zip.MemLevel可选参数说明) |
| strategy?: CompressStrategy | [参考zip.CompressStrategy枚举定义](#zip.CompressStrategy压缩策略可选参数说明) |
## zip.MemLevel可选参数说明
| MEM_LEVEL_MIN | zip 接口在压缩过程中最小使用内存 |
| ----------------- | -------------------------------- |
| MEM_LEVEL_MAX | zip 接口在压缩过程中最大使用内存 |
| MEM_LEVEL_DEFAULT | zip 接口在压缩过程中默认使用内存 |
## zip.CompressLevel压缩等级可选参数说明
| 参数 | 描述 |
| --------------------------------------- | ----------------- |
| COMPRESS_LEVEL_NO_COMPRESSION : 0 | 压缩率为0压缩等级 |
| COMPRESS_LEVEL_BEST_SPEED : 1 | 最佳速度压缩等级 |
| COMPRESS_LEVEL_BEST_COMPRESSION :9 | 最佳压缩等级 |
| COMPRESS_LEVEL_DEFAULT_COMPRESSION :-1 | 默认压缩等级 |
## zip.CompressStrategy压缩策略可选参数说明
| 参数 | 描述 |
| -------------------------------------- | ------------------------ |
| COMPRESS_STRATEGY_DEFAULT_STRATEGY : 0 | 常规数据策略 |
| COMPRESS_STRATEGY_FILTERED : 1 | 过滤器产生的数据压缩策略 |
| COMPRESS_STRATEGY_HUFFMAN_ONLY : 2 | 霍夫曼编码格式压缩策略 |
| OMPRESS_STRATEGY_RLE : 3 | 游标编码压缩策略 |
| COMPRESS_STRATEGY_FIXED : 4 | 固定的压缩策略 |
## zip.ErrorCode接口返回值参数说明
| 参数 | 描述 |
| -------------------- | ------------ |
| ERROR_CODE_OK: 0 | 函数调用成功 |
| ERROR_CODE_ERRNO:- 1 | 函数调用失败 |
...@@ -48,8 +48,10 @@ PageA跳转到PageB,跳转的共享元素为image, shareid为“shareImage ...@@ -48,8 +48,10 @@ PageA跳转到PageB,跳转的共享元素为image, shareid为“shareImage
<div> <div>
<list> <list>
<list-item type="description"> <list-item type="description">
<div>
<image src="item.jpg" shareid="shareImage" onclick="jump" class="shared-transition-style"></image> <image src="item.jpg" shareid="shareImage" onclick="jump" class="shared-transition-style"></image>
<text onclick="jump">Click on picture to Jump to ths details</text> <text onclick="jump">Click on picture to Jump to ths details</text>
</div>
</list-item> </list-item>
</list> </list>
</div> </div>
......
...@@ -97,7 +97,6 @@ ...@@ -97,7 +97,6 @@
- [Swiper](ts-container-swiper.md) - [Swiper](ts-container-swiper.md)
- [Tabs](ts-container-tabs.md) - [Tabs](ts-container-tabs.md)
- [TabContent](ts-container-tabcontent.md) - [TabContent](ts-container-tabcontent.md)
- [SideBarContainer](ts-container-sidebarcontainer.md)
- [Refresh](ts-container-refresh.md) - [Refresh](ts-container-refresh.md)
- 媒体组件 - 媒体组件
- [Video](ts-media-components-video.md) - [Video](ts-media-components-video.md)
......
...@@ -42,7 +42,7 @@ Checkbox( name?: string, group?: string ) ...@@ -42,7 +42,7 @@ Checkbox( name?: string, group?: string )
## 示例 ## 示例
``` ```
@Entry @Entry
@Component @Component
struct CheckboxExample { struct CheckboxExample {
......
...@@ -53,17 +53,16 @@ RichText\(content:string\) ...@@ -53,17 +53,16 @@ RichText\(content:string\)
@Entry @Entry
@Component @Component
struct RichTextExample { struct RichTextExample {
@State data: string = '<h1 style='text-align: center;'>h1标题</h1> @State data: string = "<h1 style='text-align: center;'>h1标题</h1>" +
<h1 style='text-align: center;'><i>h1斜体</i></h1> "<h1 style='text-align: center;'><i>h1斜体</i></h1>" +
<h1 style='text-align: center;'><u>h1下划线</u></h1> "<h1 style='text-align: center;'><u>h1下划线</u></h1>" +
<h2 style='text-align: center;'>h2标题</h2> "<h2 style='text-align: center;'>h2标题</h2>" +
<h3 style='text-align: center;'>h3标题</h3> "<h3 style='text-align: center;'>h3标题</h3>" +
<p style='text-align: center;'>p常规</p><hr/> "<p style='text-align: center;'>p常规</p><hr/>" +
<div style='width: 500px;height: 500px;border: 1px solid;margin: 0auto;'> "<div style='width: 500px;height: 500px;border: 1px solid;margin: 0auto;'>" +
<p style='font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)'>字体大小35px,行高45px</p> "<p style='font-size: 35px;text-align: center;font-weight: bold; color: rgb(24,78,228)'>字体大小35px,行高45px</p>" +
<p style='background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;'> "<p style='background-color: #e5e5e5;line-height: 45px;font-size: 35px;text-indent: 2em;'>" +
这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字 "<p>这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字</p>"
这是一段文字</p></div>'
build() { build() {
Flex({direction: FlexDirection.Column,alignItems: ItemAlign.Center, Flex({direction: FlexDirection.Column,alignItems: ItemAlign.Center,
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
@Component @Component
struct ImageEffectsExample { struct ImageEffectsExample {
build() { build() {
Column({space10}) { Column({space: 10}) {
// 对字体进行模糊 // 对字体进行模糊
Text('font blur').fontSize(15).fontColor(0xCCCCCC).width('90%') Text('font blur').fontSize(15).fontColor(0xCCCCCC).width('90%')
Text('text').blur(3).width('90%').height(40) Text('text').blur(3).width('90%').height(40)
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
| size | {<br/>width?:&nbsp;Length,<br/>height?:&nbsp;Length<br/>} | - | 设置高宽尺寸。 | | size | {<br/>width?:&nbsp;Length,<br/>height?:&nbsp;Length<br/>} | - | 设置高宽尺寸。 |
| padding | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}&nbsp;\|&nbsp;Length | 0 | 设置内边距属性。<br/>参数为Length类型时,四个方向内边距同时生效。 | | padding | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}&nbsp;\|&nbsp;Length | 0 | 设置内边距属性。<br/>参数为Length类型时,四个方向内边距同时生效。 |
| margin | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}<br/>\|&nbsp;Length | 0 | 设置外边距属性。<br/>参数为Length类型时,四个方向外边距同时生效。 | | margin | {<br/>top?:&nbsp;Length,<br/>right?:&nbsp;Length,<br/>bottom?:&nbsp;Length,<br/>left?:&nbsp;Length<br/>}<br/>\|&nbsp;Length | 0 | 设置外边距属性。<br/>参数为Length类型时,四个方向外边距同时生效。 |
| constraintSize | {<br/>minWidth?:&nbsp;Length,<br/>maxWidth?:&nbsp;Length,<br/>minHeight?:&nbsp;Length,<br/>maxHeight?:&nbsp;Lenght<br/>} | {<br/>minWidth:&nbsp;0,<br/>maxWidth:&nbsp;Infinity,<br/>minHeight:&nbsp;0,<br/>maxHeight:&nbsp;Infinity<br/>} | 设置约束尺寸,组件布局时,进行尺寸范围限制。 | | constraintSize | {<br/>minWidth?:&nbsp;Length,<br/>maxWidth?:&nbsp;Length,<br/>minHeight?:&nbsp;Length,<br/>maxHeight?:&nbsp;Length<br/>} | {<br/>minWidth:&nbsp;0,<br/>maxWidth:&nbsp;Infinity,<br/>minHeight:&nbsp;0,<br/>maxHeight:&nbsp;Infinity<br/>} | 设置约束尺寸,组件布局时,进行尺寸范围限制。 |
| layoutWeight | number | 0 | 容器尺寸确定时,元素与兄弟节点主轴布局尺寸按照权重进行分配,忽略本身尺寸设置。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;仅在Row/Column/Flex布局中生效。 | | layoutWeight | number | 0 | 容器尺寸确定时,元素与兄弟节点主轴布局尺寸按照权重进行分配,忽略本身尺寸设置。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;仅在Row/Column/Flex布局中生效。 |
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
@Entry @Entry
@Component @Component
struct SizeExample { struct SizeExample {
@StateitemWidth : number = 0 @StateitemHeight : number = 0
build() { build() {
Column({ space: 10 }) { Column({ space: 10 }) {
Text('margin and padding:').fontSize(12).fontColor(0xCCCCCC).width('90%') Text('margin and padding:').fontSize(12).fontColor(0xCCCCCC).width('90%')
...@@ -55,10 +54,8 @@ struct SizeExample { ...@@ -55,10 +54,8 @@ struct SizeExample {
Text('no layoutWeight') Text('no layoutWeight')
.size({ width: '30%', height: 110 }).backgroundColor(0xD2B48C).textAlign(TextAlign.Center) .size({ width: '30%', height: 110 }).backgroundColor(0xD2B48C).textAlign(TextAlign.Center)
}.size({ width: '90%', height: 140 }).backgroundColor(0xAFEEEE) }.size({ width: '90%', height: 140 }).backgroundColor(0xAFEEEE)
List() { ListItem() { Image('/resources/rawfile/seaman.png') .alt('/resources/rawfile/seaman2.png') .objectFit(ImageFit.Fill) .padding('100vp') .margin('40vp') .opacity(0.5) .measure('image_1') // 获取id=image_1的Image组件尺寸信息 } .onMeasure((Array<MeasureRuler> ruler) => { // 在布局之前回调,返回已测量的子组件尺寸信息 console.log(ruler[0].id, ruler[0].screenX, ruler[0].screenY, ruler[0].offsetX, ruler[0].offsetY, ruler[0].width, ruler[0].height) this.itemWidth = ruler[0].width this.itemHeight = ruler[0].height }) .width(this.itemWidth) .height(this.itemHeight) }
}.width('100%').margin({ top: 5 }) }.width('100%').margin({ top: 5 })
} }}
}
``` ```
![zh-cn_image_0000001174264384](figures/zh-cn_image_0000001174264384.gif) ![zh-cn_image_0000001174264384](figures/zh-cn_image_0000001174264384.gif)
...@@ -25,12 +25,12 @@ ...@@ -25,12 +25,12 @@
| target<sup>8+</sup> | EventTarget | 被点击元素对象。 | | target<sup>8+</sup> | EventTarget | 被点击元素对象。 |
| timestamp | number | 事件时间戳。 | | timestamp | number | 事件时间戳。 |
- EventTarget对象说明<sup>8+</sup> - EventTarget<sup>8+</sup>对象说明
| 名称 | 参数类型 | 描述 | | 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| area | Area | 目标元素的区域信息。 | | area | Area | 目标元素的区域信息。 |
- Area对象说明<sup>8+</sup> - Area<sup>8+</sup>对象说明
| 属性名称 | 类型 | 描述 | | 属性名称 | 类型 | 描述 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| width | number | 目标元素的宽度,单位为vp。 | | width | number | 目标元素的宽度,单位为vp。 |
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
| pos | Position | 目标元素左上角相对父元素左上角的位置。 | | pos | Position | 目标元素左上角相对父元素左上角的位置。 |
| globalPos | Position | 目标元素左上角相对页面左上角的位置。 | | globalPos | Position | 目标元素左上角相对页面左上角的位置。 |
- Position对象说明<sup>8+</sup> - Position<sup>8+</sup>对象说明
| 属性名称 | 参数类型 | 描述 | | 属性名称 | 参数类型 | 描述 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
| x | number | x轴坐标,单位为vp。 | | x | number | x轴坐标,单位为vp。 |
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
> >
> 0.6 - 文档标题为一级标题;namespace下的属性字段、function、class、interface、enum、type为二级标题;class下的属性、function为三级标题。 > 0.6 - 文档标题为一级标题;namespace下的属性字段、function、class、interface、enum、type为二级标题;class下的属性、function为三级标题。
> >
> **版本说明**
>
> 0.7 - **对已有模块的新增接口标记起始版本:使用\<sup>标签,标记对应的版本号。** > 0.7 - **对已有模块的新增接口标记起始版本:使用\<sup>标签,标记对应的版本号。**
> 示例:API 6已有的模块,在API 7新增了一个属性字段,则在属性后加标记,即newAttribute<sup>7+</sup>。 > 示例:API 6已有的模块,在API 7新增了一个属性字段,则在属性后加标记,即newAttribute<sup>7+</sup>。
> 如果新增了一个方法,则在方法标题后增加标记,即 sim.getSimIccId<sup>7+</sup>,interface、class、枚举等同理。 > 如果新增了一个方法,则在方法标题后增加标记,即 sim.getSimIccId<sup>7+</sup>,interface、class、枚举等同理。
...@@ -25,7 +27,24 @@ ...@@ -25,7 +27,24 @@
> >
> > 从API Version 7 开始废弃,建议使用[newMethod](#newMethod)替代。 > > 从API Version 7 开始废弃,建议使用[newMethod](#newMethod)替代。
> >
> 0.9 - **权限和syscap**:与代码保持一致,下沉到各个方法、枚举、属性字段中。 > 0.9 - **MR版本才能实现的空接口**,在接口的描述说明中,添加:
> 本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
>
> **权限、syscap、系统API**
>
> 0.10 - **权限**:与代码保持一致,下沉到各个方法、枚举、属性字段中。采用格式:
> (所有应用可申请)**需要权限:** ohos.permission.xxxx
> (仅系统应用可申请)**需要权限:** ohos.permission.xxxx,仅系统应用可用。
>
> 0.11 - **syscap**:
> 每个function需要进行描述:**系统能力**:SystemCapability.xxx.xxx
> 每个表格(属性、枚举、常量、变量)可统一进行说明,分两种情况:
> 每个表格下系统能力无差异的:
> 以下各项对应的系统能力均为SystemCapability.xxx.xxx。
> 有差异的:
> 以下各项对应的系统能力有所不同,详见下表。
>
> 0.12 - **系统API**:系统API需要增加描述:此接口为系统接口,三方应用不支持调用。
> 下面进入具体每个API的写作。 > 下面进入具体每个API的写作。
*** ***
...@@ -78,11 +97,15 @@ import call from '@ohos.telephony.call'; ...@@ -78,11 +97,15 @@ import call from '@ohos.telephony.call';
> 4.3 - 对于可读属性:如果取值为有特殊含义的有限值,需要进行枚举。 > 4.3 - 对于可读属性:如果取值为有特殊含义的有限值,需要进行枚举。
> >
> 4.4 - 对于可写属性:如果仅支持固定字段,需要进行说明。 > 4.4 - 对于可写属性:如果仅支持固定字段,需要进行说明。
>
> 4.5 - 如果各项系统能力有差异,描述改为:以下各项对应的系统能力有所不同,详见下表。然后在各项里进行描述。参考[枚举的说明](#枚举)
**系统能力:** 以下各项对应的系统能力均为SystemCapability.xxx.xxx。(必选)
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------------- | ----------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | ---------------- | ----------------------------------------- | ---- | ---- | ------------------------------------------ |
| pluggedType | [BatteryPluggedType](#BatteryPluggedType) | 是 | 否 | 表示当前设备连接的充电器类型。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) | | pluggedType | [BatteryPluggedType](#BatteryPluggedType) | 是 | 否 | 表示当前设备连接的充电器类型。 |
| isBatteryPresent | boolean | 是 | 否 | 表示当前设备是否支持电池或者电池是否在位。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) | | isBatteryPresent | boolean | 是 | 否 | 表示当前设备是否支持电池或者电池是否在位。 |
## 枚举 ## 枚举
...@@ -94,6 +117,8 @@ import call from '@ohos.telephony.call'; ...@@ -94,6 +117,8 @@ import call from '@ohos.telephony.call';
在此处给出该枚举类型的简要描述。如:表示连接的充电器类型的枚举。 在此处给出该枚举类型的简要描述。如:表示连接的充电器类型的枚举。
**系统能力:** 以下各项对应的系统能力有所不同,详见下表。(必选)
| 名称 | 值 | 说明 | | 名称 | 值 | 说明 |
| ---- | ---- | ------------------------------------------------------------ | | ---- | ---- | ------------------------------------------------------------ |
| NONE | 1 | 表示连接的充电器类型未知。<br>**系统能力**:SystemCapability.xxx.xxx(必选) | | NONE | 1 | 表示连接的充电器类型未知。<br>**系统能力**:SystemCapability.xxx.xxx(必选) |
...@@ -105,15 +130,11 @@ import call from '@ohos.telephony.call'; ...@@ -105,15 +130,11 @@ import call from '@ohos.telephony.call';
> 6.1 - 可选,如果没有可删除。如果有多个方法,请分多个二级内容描述,并使用“##”自行新建二级标题。 > 6.1 - 可选,如果没有可删除。如果有多个方法,请分多个二级内容描述,并使用“##”自行新建二级标题。
> >
> 6.2 - 二级标题名为方法名,采用导入类.方法名,如果是订阅方法,需要在方法名加上对应的订阅事件。 > 6.2 - 二级标题名为方法名,采用导入类.方法名,如果是订阅方法,需要在方法名加上对应的订阅事件。
>
> 示例: sim.getSimIccId > 示例: sim.getSimIccId
>
> 订阅方法:sim.on('exampleEvent') > 订阅方法:sim.on('exampleEvent')
> >
> 6.3 - **方法具体调用形式**:和d.ts保持一致,需要包括参数类型、参数名、返回值类型。 > 6.3 - **方法具体调用形式**:和d.ts保持一致,需要包括参数类型、参数名、返回值类型。
>
> 示例:getNetworkState(slotId: number, callback: AsyncCallback\<NetworkState>): void > 示例:getNetworkState(slotId: number, callback: AsyncCallback\<NetworkState>): void
>
> 注意:尖括号<>可能会被识别为标签,导致界面显示失效,可增加一个\,以保证界面正常显示,如“\\<>”或使用转义字符\&lt; \&gt; 。 > 注意:尖括号<>可能会被识别为标签,导致界面显示失效,可增加一个\,以保证界面正常显示,如“\\<>”或使用转义字符\&lt; \&gt; 。
> >
> 6.4.1 - **方法描述**:对方法实现的功能进行描述,包括其使用的前提条件(*如:在xx方法调用后才能调用、需要确保网络已连接……*)、使用之后的影响(*如:调用该接口后再进行xx将不起效*)、**权限限制**、**系统能力**等。 > 6.4.1 - **方法描述**:对方法实现的功能进行描述,包括其使用的前提条件(*如:在xx方法调用后才能调用、需要确保网络已连接……*)、使用之后的影响(*如:调用该接口后再进行xx将不起效*)、**权限限制**、**系统能力**等。
...@@ -165,7 +186,6 @@ import call from '@ohos.telephony.call'; ...@@ -165,7 +186,6 @@ import call from '@ohos.telephony.call';
> 7.2 - 二级标题名为class、interface的名称。 > 7.2 - 二级标题名为class、interface的名称。
> >
> 7.3 - 如果该API中,既有属性,又有方法,需要先进行属性的写作,并使用“###”三级标题。 > 7.3 - 如果该API中,既有属性,又有方法,需要先进行属性的写作,并使用“###”三级标题。
>
> 如果该API中,只有属性,那么不需要新建三级标题,直接使用表格陈列属性,具体示例参考[CustomType](#CustomType)。 > 如果该API中,只有属性,那么不需要新建三级标题,直接使用表格陈列属性,具体示例参考[CustomType](#CustomType)。
类描述/interface描述。如果有使用限制,需要在这个地方说明。比方说,是否有前提条件,是否需要通过什么方法先构造一个实例。 类描述/interface描述。如果有使用限制,需要在这个地方说明。比方说,是否有前提条件,是否需要通过什么方法先构造一个实例。
...@@ -181,11 +201,8 @@ import call from '@ohos.telephony.call'; ...@@ -181,11 +201,8 @@ import call from '@ohos.telephony.call';
> *写作说明* > *写作说明*
> >
> 7.4 - 标题名为方法名,使用三级标题,**没有前缀**。如果是订阅方法,需要在方法名加上对应的订阅事件。 > 7.4 - 标题名为方法名,使用三级标题,**没有前缀**。如果是订阅方法,需要在方法名加上对应的订阅事件。
>
> 示例: getSimIccId > 示例: getSimIccId
>
> 订阅方法:on('exampleEvent') > 订阅方法:on('exampleEvent')
>
> 其余要求请参考[方法](#方法)中的说明。 > 其余要求请参考[方法](#方法)中的说明。
在此处给出方法的具体调用形式。说明请参考6.3。 在此处给出方法的具体调用形式。说明请参考6.3。
...@@ -225,8 +242,9 @@ import call from '@ohos.telephony.call'; ...@@ -225,8 +242,9 @@ import call from '@ohos.telephony.call';
## CustomType ## CustomType
仅有k-v键值对的自定义类型示例。 仅有k-v键值对的自定义类型示例。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.xxx.xxx。(必选)
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------------------- | ---- | ---- | ------------------------------------------------------------ | | ------------ | ------------------- | ---- | ---- | ------------------------------------------------------------ |
| parameterUrl | string | 是 | 是 | 媒体输出URI。支持:<br/>1. 协议类型为“internal”的相对路径,示例如下:<br/>临时目录:internal://cache/test.mp4<br/><br/>2. 文件的绝对路径,示例如下:<br/>file:///data/data/ohos.xxx.xxx/files/test.mp4<br/>**系统能力**:SystemCapability.xxx.xxx(必选) | | parameterUrl | string | 是 | 是 | 媒体输出URI。支持:<br/>1. 协议类型为“internal”的相对路径,示例如下:<br/>临时目录:internal://cache/test.mp4<br/><br/>2. 文件的绝对路径,示例如下:<br/>file:///data/data/ohos.xxx.xxx/files/test.mp4<br/> |
| parameterOne | [CustomEnum](#枚举) | 是 | 是 | 属性描述,要求与参数说明类似。<br/>**系统能力**:SystemCapability.xxx.xxx(必选) | | parameterOne | [CustomEnum](#枚举) | 是 | 是 | 属性描述,要求与参数说明类似。 |
\ No newline at end of file \ No newline at end of file
# windowmanager # 窗口子系统
- [简介](#简介) - [简介](#简介)
- [目录](#目录) - [目录](#目录)
...@@ -8,15 +8,14 @@ ...@@ -8,15 +8,14 @@
## 简介 ## 简介
**窗口子系统** 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统 **窗口子系统** 提供窗口管理和Display管理的基础能力,是系统图形界面显示所需的基础子系统。其主要的结构如图1所示。
**图 1** 窗口子系统架构图
其主要的结构如下图所示:
![窗口子系统架构图](./figures/WindowManager.png) ![窗口子系统架构图](./figures/WindowManager.png)
- **Window Manager Client** - **Window Manager Client**
应用进程窗口管理接口层,提供窗口对对象抽象和窗口管理接口,对接原能力和UI框架。 应用进程窗口管理接口层,提供窗口对象抽象和窗口管理接口,对接元能力和UI框架。
- **Display Manager Client** - **Display Manager Client**
...@@ -24,17 +23,17 @@ ...@@ -24,17 +23,17 @@
- **Window Manager Server** - **Window Manager Server**
窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入 窗口管理服务,提供窗口布局、Z序控制、窗口树结构、窗口拖拽、窗口快照等能力,并提供窗口布局和焦点窗口给多模输入
- **Display Manager Server** - **Display Manager Server**
Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系 Display管理服务,提供Display信息、屏幕截图、屏幕亮灭和亮度处理控制,并处理Display与Screen映射关系
## 目录 ## 目录
``` ```
foundation/windowmanager/ foundation/windowmanager/
├── dm # Dislplay Manager Client实现代码 ├── dm # Dislplay Manager Client实现代码
├── dmserver # Dislplay Manager Service实现代码 ├── dmserver # Dislplay Manager Server实现代码
├── interfaces # 对外接口存放目录 ├── interfaces # 对外接口存放目录
│   ├── innerkits # native接口存放目录 │   ├── innerkits # native接口存放目录
│   └── kits # js/napi接口存放目录 │   └── kits # js/napi接口存放目录
...@@ -43,7 +42,7 @@ foundation/windowmanager/ ...@@ -43,7 +42,7 @@ foundation/windowmanager/
├── snapshot # 截屏命令行工具实现代码 ├── snapshot # 截屏命令行工具实现代码
├── utils # 工具类存放目录 ├── utils # 工具类存放目录
├── wm # Window Manager Client实现代码 ├── wm # Window Manager Client实现代码
├── wmserver # Window Manager Service实现代码 ├── wmserver # Window Manager Server实现代码
``` ```
## 约束 ## 约束
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册