提交 d053f561 编写于 作者: X xsz233

fix quick start

Signed-off-by: Nxsz233 <xushizhe@huawei.com>
上级 4d3ff4a6
......@@ -133,8 +133,21 @@ deviceTypes示例:
}
```
在开发视图的resources/base/profile下面定义配置文件**main_pages**.json,其中文件名(**main_pages**)可自定义,需要和前文中pages标签指定的信息对应,配置文件中列举了当前应用组件中的页面信息
在开发视图的resources/base/profile下面定义配置文件**main_pages**.json,其中文件名(**main_pages**)可自定义,需要和前文中pages标签指定的信息对应。配置文件中列举了当前应用组件中的页面信息,包含页面的路由信息和显示窗口相关的配置
**表3** **pages配置文件标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| src | 描述有关JavaScript模块中所有页面的路由信息,包括页面路径和页面名称。该值是一个字符串数组,其中每个元素表示一个页面,第一个元素表示主页。 | 字符串数组 | 该标签不可缺省。 |
| window | 用于定义与显示窗口相关的配置。 | 对象 | 该标签可缺省,缺省值为空。 |
**表4** **pages配置文件中的window标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| designWidth | 标识页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。 | 数值 | 可缺省,缺省值为720px。 |
| autoDesignWidth | 标识页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为false。 |
```json
{
......@@ -143,7 +156,11 @@ deviceTypes示例:
"pages/second/payment",
"pages/third/shopping_cart",
"pages/four/owner"
]
],
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
```
......@@ -152,7 +169,7 @@ deviceTypes示例:
该标签标识HAP的自定义元信息,标签值为数组类型,包含name,value,resource三个子标签。
**表3** **metadata标签说明**
**表5** **metadata标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -204,15 +221,14 @@ deviceTypes示例:
abilities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
**OpenHarmony中不允许应用隐藏入口图标**
**OpenHarmony中不允许应用隐藏启动图标**
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口图标,那么系统将应用app.json中的icon作为入口图标,并显示在桌面上。<br>
用户点击该图标,将跳转到设置应用管理中对应的应用详情页面(图1)中。<br>
如果应用想要隐藏入口图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置启动图标,那么系统将应用app.json中的icon作为启动图标,并显示在桌面上。<br>
用户点击该图标,将跳转到Settings的应用管理中对应的应用详情页面中。<br>
如果应用想要隐藏启动图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)
**场景说明:** 该功能能防止一些恶意应用,故意配置无入口图标,导致用户找不到软件所在的位置,无法操作卸载应用,在一定程度上保证用户的手机安全
**入口图标的设置:** 需要在配置文件(module.json5)中abilities配置下设置icon,label以及skills,而且skills的配置下的必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
**启动图标的设置:** 需要在配置文件(module.json5)中abilities配置下设置icon,label以及skills,而且skills的配置下的必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
```
{
"module":{
......@@ -234,37 +250,35 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
}
```
**入口图标及入口标签的显示规则**
* HAP中包含UIAbility
* 配置文件(module.json5)中abilities配置中设置了入口图标
**启动图标的查询**
* HAP中包含Ability
* 配置文件(module.json5)中abilities配置中设置了启动图标
* 该应用没有隐藏图标的特权
* 显示桌面图标为该UIAbility配置的图标
* 显示桌面Label为该UIAbility配置的Label(如果没有配置Label,返回包名)
* 显示组件名为该UIAbility的组件名
* 用户点击该桌面图标,页面跳转到该UIAbility首页
* 返回的桌面图标为该Ability配置的图标
* 返回的桌面Label为该Ability配置的Label(如果没有配置Label,返回包名)
* 返回的组件名为该Ability的组件名
* 用户点击该桌面图标,页面跳转到该Ability首页
* 该应用具有隐藏图标的特权
* 桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
* 配置文件(module.json5)中abilities配置中未设置入口图标
* 配置文件(module.json5)中abilities配置中未设置启动图标
* 该应用没有隐藏图标的特权
* 显示桌面图标为app配置下的图标(app.json中icon为必填项)
* 显示桌面Label为app配置下的label(app.json中label为必填项)
* 用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
* 返回的桌面图标为app配置下的图标(app.json中icon为必填项)
* 返回的桌面Label为app配置下的label(app.json中label为必填项)
* 返回的组件名为应用详情页面的组件名(该组件为系统内置)
* 用户点击该桌面图标,页面跳转到该应用的详情页面
* 该应用具有隐藏图标的特权
* 桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
* HAP中不包含UIAbility
* HAP中不包含Ability
* 该应用没有隐藏图标的特权
* 显示桌面图标为app配置下的图标(app.json中icon为必填项)
* 显示桌面Label为app配置下的label(app.json中label为必填项)
* 用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
* 返回的桌面图标为app配置下的图标(app.json中icon为必填项)
* 返回的桌面Label为app配置下的label(app.json中label为必填项)
* 返回的组件名为应用详情页面的组件名(该组件为系统内置)
* 用户点击该桌面图标,页面跳转到该应用的详情页面
* 该应用具有隐藏图标的特权
* 桌面查询时不返回应用信息,不会在桌面上显示对应的图标。<br><br>
应用的详情页例图
![应用的详情页例图](figures/application_details.jpg)
**表4** **abilities标签说明**
**表6** **abilities标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -348,7 +362,7 @@ abilities示例:
该标签标识UIAbility组件或者ExtensionAbility组件能够接收的[Want](../application-models/want-overview.md)的特征。
**表5** **skills标签说明**
**表7** **skills标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -356,7 +370,7 @@ abilities示例:
| entities | 标识能够接收Want的[Entity值的集合](../application-models/actions-entities.md)。 | 字符串数组 | 可缺省,缺省值为空。 |
|uris | 标识与Want中URI(Uniform&nbsp;Resource&nbsp;Identifier)相匹配的集合。 | 对象数组 | 可缺省,缺省值为空。 |
**表6** **uris对象内部结构说明**
**表8** **uris对象内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -397,11 +411,44 @@ skills示例:
}
```
**增强隐式查询功能**
支持Uri级别的前缀匹配。
当配置文件只配置scheme,或者只配置scheme和host,或者只配置scheme,host和port时,参数传入以配置文件为前缀的Uri,配置成功。
* 查询功能增强涉及以下接口<br>
[@ohos.bundle.bundleManager](../reference/apis/js-apis-bundleManager.md#bundlemanagerqueryabilityinfo)<br>
1. function queryAbilityInfo(want: Want, abilityFlags: number, callback: AsyncCallback<Array<AbilityInfo>>): void;<br>
2. function queryAbilityInfo(want: Want, abilityFlags: number, userId: number, callback: AsyncCallback<Array<AbilityInfo>>): void;<br>
3. function queryAbilityInfo(want: Want, abilityFlags: number, userId?: number): Promise<Array<AbilityInfo>>;
* 配置要求<br>
abilities -> skills -> uris对象 <br>
配置1: 只配置 scheme = 'http' <br>
配置2: 只配置 ( scheme = 'http' ) + ( host = 'example.com' ) <br>
配置3: 只配置 ( scheme = 'http' ) + ( host = 'example.com' ) + ( port = '8080' )
* 前缀匹配<br>
参数[want](../application-models/want-overview.md)下uri,调用queryAbilityInfo查询接口<br>
1. uri = 'https://' 无匹配<br>
2. uri = 'http://' 可以匹配 配置1<br>
3. uri = 'https://example.com' 无匹配<br>
4. uri = 'https://exa.com' 无匹配<br>
5. uri = 'http://exa.com' 可以匹配 配置1<br>
6. uri = 'http://example.com' 可以匹配 配置1 配置2<br>
7. uri = 'https://example.com:8080' 无匹配<br>
8. uri = 'http://exampleaa.com:8080' 可以匹配 配置1<br>
9. uri = 'http://example.com:9180' 可以匹配 配置1 配置2<br>
10. uri = 'http://example.com:8080' 可以匹配 配置1 配置2 配置3<br>
11. uri = 'https://example.com:9180/path' 无匹配<br>
12. uri = 'http://exampleap.com:8080/path' 可以匹配 配置1<br>
13. uri = 'http://example.com:9180/path' 可以匹配 配置1 配置2<br>
14. uri = 'http://example.com:8080/path' 可以匹配 配置1 配置2 配置3<br>
## extensionAbilities标签
描述extensionAbilities的配置信息,标签值为数组类型,该标签下的配置只对当前extensionAbilities生效。
**表7** **extensionAbilities标签说明**
**表9** **extensionAbilities标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -461,7 +508,7 @@ extensionAbilities示例:
> - 在requestPermissions标签中配置的权限项将在应用级别生效,即该权限适用于整个应用程序。
> - 如果应用需要订阅自己发布的事件,而且应用在extensionAbilities标签中的permissions字段中设置了访问该应用所需要的权限,那么应用也需要在requestPermissions标签中注册相关权限才能收到该事件。
**表8** **requestPermissions标签说明**
**表10** **requestPermissions标签说明**
| 属性 | 含义 | 类型 | 取值范围 | 默认值 |
| -------- | -------- | -------- | -------- | -------- |
......@@ -502,6 +549,8 @@ metadata中指定shortcut信息,其中:
- resource:指定shortcuts信息的资源位置。
**表11** **shortcuts标签说明**
| 属性 | 含义 | 类型 | 默认值 |
| -------- | -------- | -------- | -------- |
| shortcutId | 标识快捷方式的ID。字符串的最大长度为63字节。 | 字符串 | 该标签不可缺省。 |
......@@ -568,7 +617,7 @@ metadata中指定shortcut信息,其中:
该标签下的子标签均为可选字段,在应用市场云端分发时做精准匹配使用,distributionFilter标签用于定义HAP对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、屏幕尺寸、屏幕分辨率,设备的国家与地区码。在进行分发时,通过deviceType与这五个属性的匹配关系,唯一确定一个用于分发到设备的HAP。该标签需要配置在/resource/profile资源目录下。
**表9** **distributionFilter标签标签配置说明**
**表12** **distributionFilter标签标签配置说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -578,28 +627,28 @@ metadata中指定shortcut信息,其中:
| countryCode | 表示应用需要分发的国家地区码,具体值以ISO-3166-1标准为准。支持多个国家和地区枚举定义。 | 对象数组 | 该标签可缺省,缺省值为空。 |
**表10** **screenShape对象的内部结构**
**表13** **screenShape对象的内部结构**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。<br/>-&nbsp;exclude:表示需要排除的value属性。<br/>-&nbsp;include:表示需要包含的value属性。 | 字符串 | 该标签不可缺省。 |
| value | 支持的取值为circle(圆形)、rect(矩形)。场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。 | 字符串数组 | 该标签不可缺省。 |
**表11** **screenWindow对象的内部结构说明**
**表14** **screenWindow对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。<br/>-&nbsp;exclude:表示该字段取值不包含value枚举值匹配规则的匹配该属性。<br/>-&nbsp;include:表示该字段取值满足value枚举值匹配规则的匹配该属性。 | 字符串 | 该标签不可缺省。 |
| value | 单个字符串的取值格式为“宽&nbsp;\*&nbsp;高”,取值为整数像素值,例如“454&nbsp;\*&nbsp;454”。 | 字符串数组 | 该标签不可缺省。 |
**表12** **screenDensity对象的内部结构说明**
**表15** **screenDensity对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
| policy | 标识该子属性取值规则。配置为“exclude”或“include”。<br/>-&nbsp;exclude:表示需要排除的value属性。<br/>-&nbsp;include:表示需要包含的value属性。 | 字符串 | 该标签不可缺省。 |
| value | 该标签标识屏幕的像素密度(dpi&nbsp;:Dot&nbsp;Per&nbsp;Inch)。 | 字符串数组 | 该标签不可缺省。 |
**表13** **countryCode对象的内部结构说明**
**表16** **countryCode对象的内部结构说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -666,7 +715,7 @@ metadata中指定shortcut信息,其中:
此标签用于支持对测试框架的配置。
**表14** **testRunner标签说明**
**表17** **testRunner标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -692,7 +741,7 @@ testRunner标签示例:
此标签用于支持对原子化服务的配置。此标签仅在app.json中bundleType指定为atomicService时使能。
**表14** **atomicService标签说明**
**表18** **atomicService标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -719,7 +768,7 @@ atomicService标签示例:
此标签标识原子化服务中预加载列表。
**表14** **preloads标签说明**
**表19** **preloads标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------- | -------- | -------- |
......@@ -745,7 +794,7 @@ preloads标签示例:
此标签标识模块运行时依赖的共享库列表。
**表14** **dependencies标签说明**
**表20** **dependencies标签说明**
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ----------- | ------------------------------ | -------- | ---------- |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册