Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
6e0844f5
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看板
提交
6e0844f5
编写于
8月 23, 2023
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
应用模型 > 启动UIAbility的指定页面,首次和非首次启动UIAbility,Topic名称优化,优化为UIAbility冷启动和UIAbility热启动
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
9c8c77fc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
7 deletion
+7
-7
zh-cn/application-dev/application-models/uiability-intra-device-interaction.md
.../application-models/uiability-intra-device-interaction.md
+7
-7
未找到文件。
zh-cn/application-dev/application-models/uiability-intra-device-interaction.md
浏览文件 @
6e0844f5
...
@@ -388,7 +388,7 @@ context.startAbility(want, options).then(() => {
...
@@ -388,7 +388,7 @@ context.startAbility(want, options).then(() => {
## 启动UIAbility的指定页面
## 启动UIAbility的指定页面
一个UIAbility可以对应多个页面,在不同的场景下启动该UIAbility时需要展示不同的页面,例如从一个UIAbility的页面中跳转到另外一个UIAbility时,希望启动目标UIAbility的指定页面。本文主要讲解
目标UIAbility首次启动和目标UIAbility非首次启动
两种启动指定页面的场景,以及在讲解启动指定页面之前会讲解到在调用方如何指定启动页面。
一个UIAbility可以对应多个页面,在不同的场景下启动该UIAbility时需要展示不同的页面,例如从一个UIAbility的页面中跳转到另外一个UIAbility时,希望启动目标UIAbility的指定页面。本文主要讲解
[
目标UIAbility冷启动
](
#目标UIAbility冷启动
)
和
[
目标UIAbility热启动
](
#目标UIAbility热启动
)
两种启动指定页面的场景,以及在讲解启动指定页面之前会讲解到在调用方如何指定启动页面。
### 调用方UIAbility指定启动页面
### 调用方UIAbility指定启动页面
...
@@ -416,9 +416,9 @@ context.startAbility(want).then(() => {
...
@@ -416,9 +416,9 @@ context.startAbility(want).then(() => {
```
```
### 目标UIAbility
首次
启动
### 目标UIAbility
冷
启动
目标UIAbility
首次
启动时,在目标UIAbility的
`onWindowStageCreate()`
生命周期回调中,解析EntryAbility传递过来的want参数,获取到需要加载的页面信息url,传入
`windowStage.loadContent()`
方法。
目标UIAbility
冷
启动时,在目标UIAbility的
`onWindowStageCreate()`
生命周期回调中,解析EntryAbility传递过来的want参数,获取到需要加载的页面信息url,传入
`windowStage.loadContent()`
方法。
```
ts
```
ts
...
@@ -448,7 +448,7 @@ export default class FuncAbility extends UIAbility {
...
@@ -448,7 +448,7 @@ export default class FuncAbility extends UIAbility {
}
}
```
```
### 目标UIAbility
非首次
启动
### 目标UIAbility
热
启动
在应用开发中,会遇到目标UIAbility实例之前已经启动过的场景,这时再次启动目标UIAbility时,不会重新走初始化逻辑,只会直接触发
`onNewWant()`
生命周期方法。为了实现跳转到指定页面,需要在
`onNewWant()`
中解析要参数进行处理。
在应用开发中,会遇到目标UIAbility实例之前已经启动过的场景,这时再次启动目标UIAbility时,不会重新走初始化逻辑,只会直接触发
`onNewWant()`
生命周期方法。为了实现跳转到指定页面,需要在
`onNewWant()`
中解析要参数进行处理。
...
@@ -479,7 +479,7 @@ S-->>U: 显示给张三发短信的页面
...
@@ -479,7 +479,7 @@ S-->>U: 显示给张三发短信的页面
开发步骤如下所示。
开发步骤如下所示。
1.
首次
启动短信应用的UIAbility实例时,在
`onWindowStageCreate()`
生命周期回调中,通过调用
[
`getUIContext()`
](
../reference/apis/js-apis-window.md#getuicontext10
)
接口获取UI上下文实例
[
`UIContext`
](
../reference/apis/js-apis-arkui-UIContext.md
)
对象。
1.
冷
启动短信应用的UIAbility实例时,在
`onWindowStageCreate()`
生命周期回调中,通过调用
[
`getUIContext()`
](
../reference/apis/js-apis-window.md#getuicontext10
)
接口获取UI上下文实例
[
`UIContext`
](
../reference/apis/js-apis-arkui-UIContext.md
)
对象。
```
ts
```
ts
import
AbilityConstant
from
'
@ohos.app.ability.AbilityConstant
'
;
import
AbilityConstant
from
'
@ohos.app.ability.AbilityConstant
'
;
...
@@ -519,7 +519,7 @@ S-->>U: 显示给张三发短信的页面
...
@@ -519,7 +519,7 @@ S-->>U: 显示给张三发短信的页面
funcAbilityWant
:
Want
;
funcAbilityWant
:
Want
;
uiContext
:
UIContext
;
uiContext
:
UIContext
;
onNewWant
(
want
:
Want
,
launchParam
s
:
AbilityConstant
.
LaunchParam
)
{
onNewWant
(
want
:
Want
,
launchParam
:
AbilityConstant
.
LaunchParam
)
{
if
(
want
?.
parameters
?.
router
&&
want
.
parameters
.
router
===
'
funcA
'
)
{
if
(
want
?.
parameters
?.
router
&&
want
.
parameters
.
router
===
'
funcA
'
)
{
let
funcAUrl
=
'
pages/Second
'
;
let
funcAUrl
=
'
pages/Second
'
;
let
router
:
Router
=
this
.
uiContext
.
getRouter
();
let
router
:
Router
=
this
.
uiContext
.
getRouter
();
...
@@ -738,4 +738,4 @@ Call功能主要接口如下表所示。具体的API详见[接口文档](../refe
...
@@ -738,4 +738,4 @@ Call功能主要接口如下表所示。具体的API详见[接口文档](../refe
针对UIAbility组件间交互开发,有以下相关实例可供参考:
针对UIAbility组件间交互开发,有以下相关实例可供参考:
-
[
UIAbility内和UIAbility间页面的跳转(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbility
)
-
[
UIAbility内和UIAbility间页面的跳转(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbility
)
-
[
UIAbility内页面间的跳转(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/Ability/PagesRouter
)
-
[
UIAbility内页面间的跳转(ArkTS)(API9)
](
https://gitee.com/openharmony/codelabs/tree/master/Ability/PagesRouter
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录