Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
aea9099a
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
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看板
提交
aea9099a
编写于
2月 25, 2023
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add a new scenario: Starting a UIAbility with specified window mode.
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
95551180
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
54 addition
and
4 deletion
+54
-4
zh-cn/application-dev/application-models/Readme-CN.md
zh-cn/application-dev/application-models/Readme-CN.md
+1
-1
zh-cn/application-dev/application-models/figures/start-uiability-floating-window.png
...cation-models/figures/start-uiability-floating-window.png
+0
-0
zh-cn/application-dev/application-models/uiability-intra-device-interaction.md
.../application-models/uiability-intra-device-interaction.md
+53
-3
未找到文件。
zh-cn/application-dev/application-models/Readme-CN.md
浏览文件 @
aea9099a
...
...
@@ -54,7 +54,7 @@
-
[
页面栈及任务链
](
page-mission-stack.md
)
-
[
设置任务快照的图标和名称
](
mission-set-icon-name-for-task-snapshot.md
)
-
[
Stage模型应用配置文件
](
config-file-stage.md
)
-
FA模型开发指导
-
FA模型开发指导
s
-
[
FA模型开发概述
](
fa-model-development-overview.md
)
-
FA模型应用组件
-
[
应用/组件级配置
](
application-component-configuration-fa.md
)
...
...
zh-cn/application-dev/application-models/figures/start-uiability-floating-window.png
0 → 100644
浏览文件 @
aea9099a
178.6 KB
zh-cn/application-dev/application-models/uiability-intra-device-interaction.md
浏览文件 @
aea9099a
...
...
@@ -15,6 +15,8 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
-
[
启动其他应用的UIAbility并获取返回结果
](
#启动其他应用的uiability并获取返回结果
)
-
[
启动UIAbility指定展示形态
](
#启动uiability指定展示形态
)
-
[
启动UIAbility的指定页面
](
#启动uiability的指定页面
)
-
[
通过Call调用实现UIAbility交互(仅对系统应用开放)
](
#通过call调用实现uiability交互仅对系统应用开放
)
...
...
@@ -201,9 +203,8 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
})
```
效果示意如下图所示,点击“打开PDF文档”时,会弹出选择框供用户选择。
!
[
uiability-intra-device-interaction
](
figures/uiability-intra-device-interaction.png
)
效果示意如下图所示,点击“打开PDF文档”时,会弹出选择框供用户选择。
<img
src=
"figures/uiability-intra-device-interaction.png"
alt=
"uiability-intra-device-interaction"
height=
"600"
/>
3.
在文档应用使用完成之后,如需要停止当前UIAbility实例,通过调用
[
terminateSelf()
](
../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextterminateself
)
方法实现。
...
...
@@ -307,6 +308,55 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
})
```
## 启动UIAbility指定展示形态
当用户打开应用时,应用程序会以不同的窗口状态或形态进行展示,即启动UIAbility的展示形态。应用程序可以启动为全屏模式,悬浮窗模式或分屏模式。
全屏模式是指应用程序启动后,占据整个屏幕,用户无法同时查看其他窗口或应用程序。全屏模式通常适用于那些要求用户专注于特定任务或界面的应用程序,例如游戏、多媒体应用程序或演示文稿。
悬浮窗模式是指应用程序启动后,以浮动窗口的形式显示在屏幕上,用户可以轻松切换到其他窗口或应用程序。悬浮窗通常适用于需要用户同时处理多个任务的应用程序,例如聊天工具、记事本或计算器等。
分屏模式允许用户在同一屏幕上同时运行两个应用程序,其中一个应用程序占据屏幕左侧的一部分,另一个应用程序占据右侧的一部分。分屏模式主要用于提高用户的多任务处理效率,例如在电子书阅读、视频会议或文档编辑中。
使用
[
startAbility()
](
../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability
)
方法启动UIAbility时,可以通过增加
[
StartOptions
](
../reference/apis/js-apis-app-ability-startOptions.md
)
参数来配置UIAbility的展示形态。
> **说明:**
>
> 1. 如果在使用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法启动UIAbility时未指定[StartOptions](../reference/apis/js-apis-app-ability-startOptions.md)参数的windowMode属性,那么UIAbility将以系统默认的窗口展示形态启动。
> 2. 为了确保启动的UIAbility展示形态能够被支持,需要在该UIAbility对应的[module.json5配置文件](../quick-start/module-configuration-file.md)中[abilities标签](../quick-start/module-configuration-file.md#abilities标签)的supportWindowMode字段确认启动的展示形态被支持。
以下是具体的操作步骤,以悬浮窗模式为例,假设需要从EntryAbility的页面中启动FuncAbility:
1.
在调用
[
startAbility()
](
../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability
)
方法时,增加
[
StartOptions
](
../reference/apis/js-apis-app-ability-startOptions.md
)
参数。
2.
在
[
StartOptions
](
../reference/apis/js-apis-app-ability-startOptions.md
)
参数中设置
`windowMode`
字段为
`WINDOW_MODE_FLOATING`
,表示启动的UIAbility将以悬浮窗的形式展示。
示例中的context的获取方式请参见
[
获取UIAbility的上下文信息
](
uiability-usage.md#获取uiability的上下文信息
)
。
```
ts
import
AbilityConstant
from
'
@ohos.app.ability.AbilityConstant
'
;
let
wantInfo
=
{
deviceId
:
''
,
// deviceId为空表示本设备
bundleName
:
'
com.example.myapplication
'
,
abilityName
:
'
FuncAbility
'
,
moduleName
:
'
module1
'
,
// moduleName非必选
parameters
:
{
// 自定义信息
info
:
'
来自EntryAbility Index页面
'
,
},
}
let
options
=
{
windowMode
:
AbilityConstant
.
WindowMode
.
WINDOW_MODE_FLOATING
}
// context为调用方UIAbility的UIAbilityContext
this
.
context
.
startAbility
(
wantInfo
,
options
).
then
(()
=>
{
// ...
}).
catch
((
err
)
=>
{
// ...
})
```
效果示意如下图所示。
<img
src=
"D:\Hzhao\Temp\zyjhandsome\docs\zh-cn\application-dev\application-models\figures\start-uiability-floating-window.png"
alt=
"start-uiability-floating-window"
height=
"600"
/>
## 启动UIAbility的指定页面
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录