阅读(2581) (9)

鸿蒙OS lAbilityDelegator

2020-09-21 11:53:30 更新

全局测试实用程序界面,用于添加 IAbilityMonitor 对象并控制功能的生命周期状态。

您可以调用 addAbilityMonitor(java.lang.String) 来添加IAbilityMonitor对象,以监视指定功能的生命周期状态。您还可以调用诸如 triggerClickEvent(ohos.aafwk.ability.Ability,ohos.agp.components.Component)之类的方法 来控制能力的生命周期状态并调度输入事件。

领域摘要

修饰符和类型 领域 描述
静态整数 活性 指示该能力处于活动状态。
静态整数 背景 指示该能力处于后台状态。
静态整数 不活跃 指示该能力处于非活动状态。
静态整数 初始 指示该能力处于初始状态。
静态整数 未定义 表示该能力的生命周期状态未定义。

方法总结

修饰符和类型 方法 描述
IAbilityMonitor addAbilityMonitor字符串 abilityName) 基于指定的功能名称创建 IAbilityMonitor 对象,以监视功能的生命周期状态变化。
void clearAllMonitors() 清除保存在内存中的所有IAbilityMonitor对象。
整型 getAbilitySliceStateAbilitySlice targetSlice) 获取指定能力切片的生命周期状态。
整型 getAbilityState(Ability ability) 获得指定能力的生命周期状态。
List<AbilitySlice> getAllAbilitySlice((Ability ability) 获取指定能力的所有能力切片。
AbilitySlice getCurrentAbilitySlice(Ability ability) 获得指定能力的最高能力切片。
Ability getCurrentTopAbility() 获得当前正在显示的功能。
整型 getMonitorsNum() 获取保存在内存中的IAbilityMonitor对象的总数。
void print(String msg) 将日志信息打印到单元测试控制台。
void removeAbilityMonitorIAbilityMonitor监视器) 从应用程序内存中删除指定的IAbilityMonitor对象。
布尔值  runOnUIThreadSync(Runnable task) 在UI线程上运行指定的任务并阻塞线程,直到任务完成。
Optional<Ability> startAbilitySync(Intent intent) 根据给定的Intent启动一项功能,并等待2秒钟以开始运行该功能,然后再返回。
Optional<Ability> startAbilitySync(Intent intent, long timeout) 根据给定的Intent启动一项功能,并等待指定的时间段才能开始运行该功能,然后再返回。
boolean stopAbility(Ability ability) 消灭指定的能力。
boolean triggerClickEvent(Ability ability, Component view) 将click事件调度到给定功能的指定Component对象,并等待对其进行处理。
boolean triggerKeyEvent(Ability ability, KeyEvent keyEvent) 将按键事件分配给给定的功能,然后等待其处理。
boolean triggerTouchEvent(Ability ability, TouchEvent touchEvent) 将触摸事件分配给给定的功能,然后等待其处理。
Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor) 等待并返回与在给定IAbilityMonitor中设置的条件匹配的Ability对象。
Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor, long timeout) 等待并返回与指定时间段内给定IAbilityMonitor中设置的条件匹配的Ability对象。

领域细节

活性

static final int有效

指示该能力处于活动状态。

也可以看看:

常数栏位值

背景

静态最终int背景

指示该能力处于后台状态。

也可以看看:

常数栏位值

不活跃

静态最终int不活动

指示该能力处于非活动状态。

也可以看看:

常数栏位值

初始

静态最终 int INITIAL

指示该能力处于初始状态。

也可以看看:

常数栏位值

未定义

static final int 未定义

表示该能力的生命周期状态未定义。

也可以看看:

常数栏位值

方法细节

等待能力监控器

可选的 < Ability > waitAbilityMonitor(IAbilityMonitor监视器)

等待并返回与在给定IAbilityMonitor中设置的条件匹配的Ability对象 。

如果成功获得匹配的能力,则指定的IAbilityMonitor对象将无效。否则,您可以继续在waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor)waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor,long)中使用它以获得技能。

参数:

参数名称 参数说明
监控 指示用于监视功能的生命周期状态变化的IAbilityMonitor对象。

返回值:

如果其生命周期状态已更改并且与给定监视器匹配,则返回包含Ability对象的Optional对象;否则返回一个空的Optional对象。

等待能力监控器

Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor, long timeout)等待并返回与指定时间段内给定IAbilityMonitor中设置的条件匹配的Ability对象 。

如果成功获得匹配的能力,则指定的IAbilityMonitor对象将无效。否则,您可以继续在waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor)waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor,long)中使用它以获得技能。

参数:

参数名称 参数说明
监控 指示用于监视功能的生命周期状态变化的IAbilityMonitor对象。
超时 指示等待的最长时间(以毫秒为单位)。该值必须是一个正整数。

返回值:

如果其生命周期状态已更改并且与给定监视器匹配,则返回包含Ability对象的Optional对象;否则返回一个空的Optional对象。

启动能力同步

可选的 < Ability > startAbilitySync(Intent intent)

根据给定的Intent启动一项功能,并等待2秒钟以开始运行该功能,然后再返回。

如果2秒钟内没有启动任何功能,则将返回一个空的Optional对象。

参数:

参数名称 参数说明
意图 指示启动该能力的意图。

返回值:

如果在2秒内成功启动了包含启动的 Ability 对象的 Optional 对象,则返回该对象;否则返回一个空的 Optional 对象。

在UI线程同步上运行

boolean runOnUIThreadSync(Runnable task)

在 UI 线程上运行指定的任务并阻塞线程,直到任务完成。

参数:

参数名称 参数说明
任务 指示要运行的可运行任务。

返回值:

如果任务在 UI 线程上成功执行,则返回true;否则,返回 true。否则返回 false。

启动能力同步

Optional<Ability> startAbilitySync(Intent intent, long timeout)

根据给定的Intent启动一项功能,并等待指定的时间段才能开始运行该功能,然后再返回。

如果在超时指定的时间内没有启动任何能力,则将返回一个空的Optional对象。

参数:

参数名称 参数说明
意图 指示启动该能力的意图。
超时 指示等待的最长时间(以毫秒为单位)。该值必须是一个正整数。

返回值:

如果在指定时间内成功启动了包含启动的 Ability 对象的 Optional 对象,则返回该对象;否则返回一个空的 Optional 对象。

停止能力

boolean stopAbility(Ability ability)

消灭指定的能力。

参数:

参数名称 参数说明
能力 指示要销毁的能力对象。

返回值:

如果该能力被成功销毁,则返回true;否则返回true。否则返回false。

触发触摸事件

boolean triggerTouchEvent(Ability ability,TouchEvent touchEvent)

将触摸事件分配给给定的功能,然后等待其处理。

此方法是同步的,不能在UI线程上运行。否则,UI线程将被挂起。

参数:

参数名称 参数说明
能力 指示能力对象。
触摸事件 指示要调度的触摸事件。

返回值:

如果成功调度touch事件,则返回true;否则,返回false。否则返回false。

布尔触发器Click事件

boolean triggerClickEvent(Ability ability, Component view)

将 click 事件调度到给定功能的指定 Component 对象,并等待对其进行处理。

此方法是同步的,不能在UI线程上运行。否则,UI线程将被挂起。

参数:

参数名称 参数说明
能力 指示能力对象。
视图 指示点击功能的组成部分。

返回值:

如果成功调度了click事件,则返回true;否则,返回true。否则返回false。

触发按键事件

boolean triggerKeyEvent(能力KeyEvent keyEvent)

将按键事件分配给给定的功能,然后等待其处理。

此方法是同步的,不能在UI线程上运行。否则,UI线程将被挂起。

参数:

参数名称 参数说明
ability 指示能力对象。
keyEvent 指示要调度的关键事件。

返回值:

如果成功调度关键事件,则返回true;否则,返回true。否则返回false。

添加能力监控器

IAbilityMonitor addAbilityMonitor((字符串标记)

基于指定的功能名称创建 IAbilityMonitor对象,以监视功能的生命周期状态变化。

参数:

参数名称 参数说明
ability Name 指示监视功能的名称。

返回值:

返回创建的IAbilityMonitor对象。

获取显示器数量

int getMonitorsNum()

获取保存在内存中的IAbilityMonitor对象的总数 。

返回值:

返回IAbilityMonitor对象的总数。

清除所有监视器

无效clearAllMonitors()

清除保存在内存中的所有 IAbilityMonitor对象。

获取能力状态

int getAbilityState(Ability ability)

获得指定能力的生命周期状态。

参数:

参数名称 参数说明
ability 指示要获取其状态的Ability对象。

返回值:

返回能力的状态,可以是UNDEFINED等等。

删除能力监视器

void removeAbilityMonitor(IAbilityMonitor monitor)

从应用程序内存中删除指定的 IAbilityMonitor对象。

参数:

参数名称 参数说明
monitor 指示要删除的IAbilityMonitor对象。

打印

无效打印(String msg)

将日志信息打印到单元测试控制台。

参数:

参数名称 参数说明
msg 指示要打印的信息。

获得当前最高能力

能力 getCurrentTopAbility()

获得当前正在显示的功能。

返回值:

返回当前显示的能力。

获得能力切片状态

int getAbilitySliceState(AbilitySlice targetSlice)

获取指定能力切片的生命周期状态。

参数:

参数名称 参数说明
targetSlice 指示要获取其状态的AbilitySlice对象。

返回值:

返回能力切片的状态,该状态可以是未定义的,依此类推。

获得所有能力切片

获取指定能力的所有能力切片。

参数:

参数名称 参数说明
ability 指示能力对象。

返回值:

返回指定能力的所有能力切片的列表。

获得当前能力切片

AbilitySlice getCurrentAbilitySlice(Ability ability)

获得指定能力的最高能力切片。最高能力切片是指当前显示的能力切片。

参数:

参数名称 参数说明
ability 指示能力对象。

返回值:

返回指定能力的最高能力切片。