Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5636865c
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5636865c
编写于
3月 30, 2023
作者:
J
jiangminsen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
资料修改
Signed-off-by:
N
jiangminsen
<
jiangminsen@huawei.com
>
上级
81f1aeef
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
59 addition
and
112 deletion
+59
-112
zh-cn/application-dev/application-models/explicit-implicit-want-mappings.md
...dev/application-models/explicit-implicit-want-mappings.md
+8
-2
zh-cn/application-dev/application-models/figures/want-uri-type1.png
...ication-dev/application-models/figures/want-uri-type1.png
+0
-0
zh-cn/application-dev/quick-start/figures/application_details.jpg
...plication-dev/quick-start/figures/application_details.jpg
+0
-0
zh-cn/application-dev/quick-start/module-configuration-file.md
.../application-dev/quick-start/module-configuration-file.md
+25
-54
zh-cn/application-dev/quick-start/module-structure.md
zh-cn/application-dev/quick-start/module-structure.md
+26
-56
未找到文件。
zh-cn/application-dev/application-models/explicit-implicit-want-mappings.md
浏览文件 @
5636865c
...
...
@@ -127,7 +127,9 @@
-
如果s_uri的host为空,当w_uri和s_uri的scheme相同时匹配成功,否则匹配失败;
-
如果s_uri的path、pathStartWith和pathRegex都为空,当w_uri和s_uri完全相同时匹配成功,否则匹配失败;
-
如果s_uri的port为空,当w_uri和s_uri中的scheme和host相同时匹配成功,否则匹配失败;
-
如果s_uri的path、pathStartWith和pathRegex都为空,当w_uri和s_uri中的scheme,host和port相同时匹配成功,否则匹配失败;
-
如果s_uri的path不为空,当w_uri和s_uri
**全路径表达式**
相同时匹配成功,否则继续进行pathStartWith的匹配;
...
...
@@ -143,7 +145,11 @@
> - **前缀表达式**:scheme://host:port/pathStartWith
>
> - **正则表达式**:scheme://host:port/pathRegex
>
> - **前缀uri表达式**:当配置文件只配置scheme,或者只配置scheme和host,或者只配置scheme,host和port时,参数传入以配置文件为前缀的Uri
> * `scheme://`
> * `scheme://host`
> * `scheme://host:port`
### type匹配规则
...
...
zh-cn/application-dev/application-models/figures/want-uri-type1.png
查看替换文件 @
81f1aeef
浏览文件 @
5636865c
97.0 KB
|
W:
|
H:
215.1 KB
|
W:
|
H:
2-up
Swipe
Onion skin
zh-cn/application-dev/quick-start/figures/application_details.jpg
0 → 100644
浏览文件 @
5636865c
111.5 KB
zh-cn/application-dev/quick-start/module-configuration-file.md
浏览文件 @
5636865c
...
...
@@ -204,14 +204,15 @@ deviceTypes示例:
abilities标签描述UIAbility组件的配置信息,标签值为数组类型,该标签下的配置只对当前UIAbility生效。
**OpenHarmony中不允许应用隐藏
启动
图标**
**OpenHarmony中不允许应用隐藏
入口
图标**
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
启动图标,那么系统将应用app.json中的icon作为启动
图标,并显示在桌面上。
<br>
用户点击该图标,将跳转到
Settings的应用管理中对应的应用详情页面
中。
<br>
如果应用想要隐藏
启动
图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
入口图标,那么系统将应用app.json中的icon作为入口
图标,并显示在桌面上。
<br>
用户点击该图标,将跳转到
设置应用管理中对应的应用详情页面(图1)
中。
<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":{
...
...
@@ -233,32 +234,34 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置启动
}
```
**
启动图标的查询
**
*
HAP中包含Ability
*
配置文件(module.json5)中abilities配置中设置了
启动
图标
**
入口图标及入口标签的显示规则
**
*
HAP中包含
UI
Ability
*
配置文件(module.json5)中abilities配置中设置了
入口
图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为该
Ability配置的图标
*
返回的桌面Label为该
Ability配置的Label(如果没有配置Label,返回包名)
*
返回的组件名为该
Ability的组件名
*
用户点击该桌面图标,页面跳转到该Ability首页
*
显示桌面图标为该UI
Ability配置的图标
*
显示桌面Label为该UI
Ability配置的Label(如果没有配置Label,返回包名)
*
显示组件名为该UI
Ability的组件名
*
用户点击该桌面图标,页面跳转到该
UI
Ability首页
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
配置文件(module.json5)中abilities配置中未设置
启动
图标
*
配置文件(module.json5)中abilities配置中未设置
入口
图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
显示桌面图标为app配置下的图标(app.json中icon为必填项)
*
显示桌面Label为app配置下的label(app.json中label为必填项)
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
HAP中不包含Ability
*
HAP中不包含
UI
Ability
*
该应用没有隐藏图标的特权
*
返回的桌面图标为app配置下的图标(app.json中icon为必填项)
*
返回的桌面Label为app配置下的label(app.json中label为必填项)
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
显示桌面图标为app配置下的图标(app.json中icon为必填项)
*
显示桌面Label为app配置下的label(app.json中label为必填项)
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
<br><br>
应用的详情页例图

**表4**
**abilities标签说明**
...
...
@@ -393,38 +396,6 @@ 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标签
...
...
zh-cn/application-dev/quick-start/module-structure.md
浏览文件 @
5636865c
...
...
@@ -190,14 +190,15 @@ metadata对象示例:
## abilities对象的内部结构
**OpenHarmony中不允许应用隐藏
启动
图标**
**OpenHarmony中不允许应用隐藏
入口
图标**
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
启动
图标,那么系统会给该应用创建一个默认的图标显示在桌面上;
<br>
用户点击该图标,将跳转到Settings的应用管理中对应的应用详情页面中。
<br>
如果应用想要隐藏
启动
图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置
入口
图标,那么系统会给该应用创建一个默认的图标显示在桌面上;
<br>
用户点击该图标,将跳转到Settings的应用管理中对应的应用详情页面
(图1)
中。
<br>
如果应用想要隐藏
入口
图标,需要配置AllowAppDesktopIconHide应用特权,具体配置方式参考
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md
)
。
**场景说明:**
该功能能防止一些恶意应用,故意配置无入口图标,导致用户找不到软件所在的位置,无法操作卸载应用,在一定程度上保证用户的手机安全
**
启动
图标的设置:**
需要在配置文件(config.json)中abilities配置下设置icon,label以及skills,而且skills的配置下必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
**
入口
图标的设置:**
需要在配置文件(config.json)中abilities配置下设置icon,label以及skills,而且skills的配置下必须同时包含“ohos.want.action.home” 和 “entity.system.home”:
```
{
"module":{
...
...
@@ -220,34 +221,36 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置启动
}
```
**
启动图标的查询
**
*
HAP中包含Page类型的Ability
*
配置文件(config.json)中abilities配置中设置了
启动
图标
**
入口图标及入口标签的显示规则
**
*
HAP中包含Page类型的
Page
Ability
*
配置文件(config.json)中abilities配置中设置了
入口
图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为该
Ability配置的图标
*
返回的桌面Label为该
Ability配置的Label(如果没有配置Label,返回包名)
*
返回的组件名为该
Ability的组件名
*
用户点击该桌面图标,页面跳转到该Ability首页
*
显示桌面图标为该Page
Ability配置的图标
*
显示桌面Label为该Page
Ability配置的Label(如果没有配置Label,返回包名)
*
显示组件名为该Page
Ability的组件名
*
用户点击该桌面图标,页面跳转到该
Page
Ability首页
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
配置文件(config.json)中abilities配置中未设置
启动
图标
*
配置文件(config.json)中abilities配置中未设置
入口
图标
*
该应用没有隐藏图标的特权
*
返回的桌面图标为系统默认图标
*
返回的桌面Label为该应用的包名
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
显示桌面图标为系统默认图标
*
显示桌面Label为该应用的包名
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
*
HAP中不包含Page类型的Ability
*
HAP中不包含Page类型的
Page
Ability
*
该应用没有隐藏图标的特权
*
返回的桌面图标为系统默认图标
*
返回的桌面Label为该应用的包名
*
返回的组件名为应用详情页面的组件名(该组件为系统内置)
*
用户点击该桌面图标,页面跳转到该应用的详情页面
*
显示桌面图标为系统默认图标
*
显示桌面Label为该应用的包名
*
用户点击该桌面图标,页面跳转到该应用的详情页面(图1)
*
该应用具有隐藏图标的特权
*
桌面查询时不返回应用信息,不会在桌面上显示对应的图标。
注:应用详情页面中显示的图标与label,可能与桌面上显示的不同。如果非Page类型的ability配置了入口图标和label,那么详情页中显示的即为配置的。
<br><br>
注:应用详情页面(图1)中显示的label可能与桌面上显示的不同。如果非Page类型的PageAbility配置了入口图标和label,那么详情页中显示的即为配置的。
<br><br>
图1

**表8**
**abilities对象的内部结构说明**
...
...
@@ -411,39 +414,6 @@ 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 = 'www.example.com' )
<br>
配置3: 只配置 ( scheme = 'http' ) + ( host = 'www.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://www.example.com' 无匹配
<br>
4.
uri = 'https://www.exa.com' 无匹配
<br>
5.
uri = 'http://www.exa.com' 可以匹配 配置1
<br>
6.
uri = 'http://www.example.com' 可以匹配 配置1 配置2
<br>
7.
uri = 'https://www.example.com:8080' 无匹配
<br>
8.
uri = 'http://www.exampleaa.com:8080' 可以匹配 配置1
<br>
9.
uri = 'http://www.example.com:9180' 可以匹配 配置1 配置2
<br>
10.
uri = 'http://www.example.com:8080' 可以匹配 配置1 配置2 配置3
<br>
11.
uri = 'https://www.example.com:9180/query/student/name' 无匹配
<br>
12.
uri = 'http://www.exampleap.com:8080/query/student/name' 可以匹配 配置1
<br>
13.
uri = 'http://www.example.com:9180/query/student/name' 可以匹配 配置1 配置2
<br>
14.
uri = 'http://www.example.com:8080/query/student/name' 可以匹配 配置1 配置2 配置3
<br>
## reqPermissions权限申请
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录