Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
3cea82f5
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看板
未验证
提交
3cea82f5
编写于
3月 23, 2022
作者:
O
openharmony_ci
提交者:
Gitee
3月 23, 2022
浏览文件
操作
浏览文件
下载
差异文件
!2406 修改PageAbility指南段落结构
Merge pull request !2406 from guyuanzhang/0323
上级
120121f7
387c8f12
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
56 addition
and
72 deletion
+56
-72
zh-cn/application-dev/ability/fa-pageability.md
zh-cn/application-dev/ability/fa-pageability.md
+56
-72
未找到文件。
zh-cn/application-dev/ability/fa-pageability.md
浏览文件 @
3cea82f5
# PageAbility开发指导
## PageAbility介绍
## 概述
### 功能简介
PageAbility是具备ArkUI的Ability,是用户具体可见并可以交互的Ability实例,开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单例featureAbility暴露,生命周期相关回调通过app.js/app.ets中回调函数暴露。
Page模板(以下简称“Page”)是FA唯一支持的模板,用于提供与用户交互的能力。
## PageAbility的生命周期
### PageAbility的生命周期
**Ability生命周期介绍**
(Ability Life Cycle)是Ability被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称(主要涉及PageAbility类型和ServiceAbility类型的Ability)。
-
**PageAbility类型的
Ability生命周期流转如下图所示**
**Page
Ability生命周期流转如下图所示**
![
PageAbility-Lifecycle
](
figures/page-ability-lifecycle.png
)
...
...
@@ -25,76 +25,32 @@ Page模板(以下简称“Page”)是FA唯一支持的模板,用于提供
-
**BACKGROUND**
: 后台状态,表示当前Ability退到后台,Ability在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。
**PageAbility
类型Ability
生命周期回调如下图所示:**
**PageAbility生命周期回调如下图所示:**
![
fa-pageAbility-lifecycle
](
figures/fa-pageAbility-lifecycle.png
)
PageAbility提供如下生命周期回调,开发者可以在 app.js/app.ets 中重写生相关命周期函数 。
*
onShow()
Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到该Ability。
*
onHide()
Ability由前台切换到后台不可见状态时调用onHide方法,此时用户在屏幕看不到该Ability。
*
onDestroy()
应用退出,销毁Ability对象前调用onDestroy方法,开发者可以在该方法里做一些回收资源、清空缓存等应用退出前的准备工作。
*
onCreate()
Ability第一次启动创建Ability时调用onCreate方法,开发者可以在该方法里做一些应用初始化工作。
PageAbility提供命周期回调,开发者可以在 app.js/app.ets 中重写生相关命周期函数 。
*
onInactive()
## 开发指导
### featureAbility接口说明
Ability失去焦点时调用onInactive方法,Ability在进入后台状态时会先失去焦点,再进入后台。
**表1**
featureAbility接口介绍
*
onActive()
| 接口名 | 描述 |
| --------------------------------------------------- | --------------- |
| void startAbility(parameter: StartAbilityParameter) | 启动Ability |
| Context getContext(): | 获取应用Context |
| void terminateSelf() | 结束Ability |
| bool hasWindowFocus() | 是否获取焦点 |
Ability切换到前台,并且已经获取焦点时调用onActive方法。
*
示例
```
javascript
export
default
{
onCreate
()
{
console
.
info
(
'
Application onCreate
'
)
},
onDestroy
()
{
console
.
info
(
'
Application onDestroy
'
)
},
onShow
(){
console
.
info
(
'
Application onShow
'
)
},
onHide
(){
console
.
info
(
'
Application onHide
'
)
},
onInactive
(){
console
.
info
(
'
Application onInactive
'
)
},
onActive
(){
console
.
info
(
'
Application onActive
'
)
},
}
```
## 启动本地PageAbility
##
#
启动本地PageAbility
*
导入模块
*
导入模块
```
import featureAbility from '@ohos.ability.featureAbility'
```
```
featureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<number>)
```
*
接口说明
启动新的ability(callback形式)
*
示例
```
javascript
...
...
@@ -158,7 +114,7 @@ featureAbility.startAbility({
},
);
```
## 启动远程PageAbility
##
#
启动远程PageAbility
*
导入模块
...
...
@@ -166,14 +122,6 @@ featureAbility.startAbility({
import featureAbility from '@ohos.ability.featureAbility'
```
```
featureAbility.startAbility(parameter: StartAbilityParameter)
```
*
接口说明
启动远程的ability(promise形式)
前提:通过deviceManager获取远程deviceid
*
示例
```
javascript
...
...
@@ -187,7 +135,43 @@ var promise = await featureAbility.startAbility({
}
);
```
## 开发实例
### 生命周期接口说明
**表2**
生命周期回调函数介绍
| 接口名 | 描述 |
| ------------ | ------------------------------------------------------------ |
| onShow() | Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到该Ability |
| onHide() | Ability由前台切换到后台不可见状态时调用onHide方法,此时用户在屏幕看不到该Ability。 |
| onDestroy() | 应用退出,销毁Ability对象前调用onDestroy方法,开发者可以在该方法里做一些回收资源、清空缓存等应用退出前的准备工作。 |
| onCreate() | Ability第一次启动创建Ability时调用onCreate方法,开发者可以在该方法里做一些应用初始化工作。 |
| onInactive() | Ability失去焦点时调用onInactive方法,Ability在进入后台状态时会先失去焦点,再进入后台。 |
| onActive() | Ability切换到前台,并且已经获取焦点时调用onActive方法。 |
*
示例
开发者需要重写app.js/app.ets 中相关生命周期回调函数,IDE模板默认生成onCreate()和onDestroy()方法,其他方法需要开发者自行实现。
```
javascript
export
default
{
onCreate
()
{
console
.
info
(
'
Application onCreate
'
)
},
onDestroy
()
{
console
.
info
(
'
Application onDestroy
'
)
},
onShow
(){
console
.
info
(
'
Application onShow
'
)
},
onHide
(){
console
.
info
(
'
Application onHide
'
)
},
onInactive
(){
console
.
info
(
'
Application onInactive
'
)
},
onActive
(){
console
.
info
(
'
Application onActive
'
)
},
}
```
### 开发实例
针对pageAbility开发,有以下示例工程可供参考:
-
[
DMS
](
https://gitee.com/openharmony/app_samples/tree/master/ability/DMS
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录