Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
253549ce
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
253549ce
编写于
4月 06, 2023
作者:
zyjhandsome
提交者:
Gitee
4月 06, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/application-models/ability-startup-with-explicit-want.md.
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
f44d928a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
2 addition
and
69 deletion
+2
-69
zh-cn/application-dev/application-models/ability-startup-with-explicit-want.md
.../application-models/ability-startup-with-explicit-want.md
+2
-69
未找到文件。
zh-cn/application-dev/application-models/ability-startup-with-explicit-want.md
浏览文件 @
253549ce
# 使用显式Want启动Ability
在应用使用场景中,当用户在应用内点击某个按钮时,经常需要拉起指定UIAbility组件来完成某些特定任务。在启动UIAbility时,指定了abilityName和bundleName参数,可以使用显式Want方式启动UIAbility。显式Want的使用
在应用使用场景中,当用户点击某个按钮时,应用经常需要拉起指定UIAbility组件来完成某些特定任务。下面介绍如何通过显式Want拉起应用内一个指定UIAbility组件。
## 开发步骤
1.
Stage模型工程内,创建一个Ability(此示例内命名为callerAbility)与相应Page(此示例中名为Index.ets),并在callerAbility.ts文件内的onWindowStageCreate函数内通过windowStage.loadContent()方法将两者绑定。
```
ts
// ...
// callerAbility.ts
onWindowStageCreate
(
windowStage
)
{
// Main window is created, set main page for this ability
console
.
info
(
'
[Demo] EntryAbility onWindowStageCreate
'
)
// Bind callerAbility with a paged named Index
windowStage
.
loadContent
(
'
pages/Index
'
)
}
// ...
```
2.
同上方法再创建一个Ability,此示例内命名为“calleeAbility”。
3.
在callerAbility的“Index.ets”页面内新增一个按钮。
```
ts
// ...
build
()
{
Row
()
{
Column
()
{
Text
(
'
hello
'
)
.
fontSize
(
50
)
.
fontWeight
(
FontWeight
.
Bold
)
// A new button with will call explicitStartAbility() when clicked.
Button
(
"
CLICKME
"
)
.
onClick
(
this
.
explicitStartAbility
)
// explicitStartAbility见下面示例代码
// ...
}
.
width
(
'
100%
'
)
}
.
height
(
'
100%
'
)
}
// ...
```
4.
补充相对应的onClick方法,并使用
**显式Want**
在方法内启动calleeAbility。bundleName字段可在工程AppScope
>
app.json5文件内获取;abilityName可在对应模块内的“yourModuleName
>
src
>
main
>
module.json5”文件查看。
```
ts
import
common
from
'
@ohos.app.ability.common
'
;
// ...
async
explicitStartAbility
()
{
try
{
// Explicit want with abilityName specified.
let
want
=
{
deviceId
:
""
,
bundleName
:
"
com.example.myapplication
"
,
abilityName
:
"
calleeAbility
"
};
let
context
=
getContext
(
this
)
as
common
.
UIAbilityContext
;
await
context
.
startAbility
(
want
);
console
.
info
(
`explicit start ability succeed`
);
}
catch
(
error
)
{
console
.
info
(
`explicit start ability failed with
${
error
.
code
}
`
);
}
}
// ...
```
5.
至此,当您点击CLICKME按钮时,应看到页面的跳转。
<img
src=
"figures/startAbilityWtExplicitWant.PNG"
alt=
"startAbilityWtExplicitWant"
style=
"zoom: 80%;"
/>
针对应用的特定任务,用户需要通过点击应用内的按钮来启动指定的UIAbility组件。在启动UIAbility时,需要提供abilityName和bundleName参数,并使用显式Want方式来启动。关于如何使用显式Want方式启动应用内的UIAbility,请参见
[
启动应用内的UIAbility
](
uiability-intra-device-interaction.md#启动应用内的uiability
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录