鴻蒙OS lAbilityDelegator

2020-09-21 14:02 更新

全局測(cè)試實(shí)用程序界面,用于添加 IAbilityMonitor 對(duì)象并控制功能的生命周期狀態(tài)。

您可以調(diào)用 addAbilityMonitor(java.lang.String) 來(lái)添加IAbilityMonitor對(duì)象,以監(jiān)視指定功能的生命周期狀態(tài)。您還可以調(diào)用諸如 triggerClickEvent(ohos.aafwk.ability.Ability,ohos.agp.components.Component)之類的方法 來(lái)控制能力的生命周期狀態(tài)并調(diào)度輸入事件。

領(lǐng)域摘要

修飾符和類型 領(lǐng)域 描述
靜態(tài)整數(shù) 活性 指示該能力處于活動(dòng)狀態(tài)。
靜態(tài)整數(shù) 背景 指示該能力處于后臺(tái)狀態(tài)。
靜態(tài)整數(shù) 不活躍 指示該能力處于非活動(dòng)狀態(tài)。
靜態(tài)整數(shù) 初始 指示該能力處于初始狀態(tài)。
靜態(tài)整數(shù) 未定義 表示該能力的生命周期狀態(tài)未定義。

方法總結(jié)

修飾符和類型 方法 描述
IAbilityMonitor addAbilityMonitor字符串 abilityName) 基于指定的功能名稱創(chuàng)建 IAbilityMonitor 對(duì)象,以監(jiān)視功能的生命周期狀態(tài)變化。
void clearAllMonitors() 清除保存在內(nèi)存中的所有IAbilityMonitor對(duì)象。
整型 getAbilitySliceStateAbilitySlice targetSlice) 獲取指定能力切片的生命周期狀態(tài)。
整型 getAbilityState(Ability ability) 獲得指定能力的生命周期狀態(tài)。
List<AbilitySlice> getAllAbilitySlice((Ability ability) 獲取指定能力的所有能力切片。
AbilitySlice getCurrentAbilitySlice(Ability ability) 獲得指定能力的最高能力切片。
Ability getCurrentTopAbility() 獲得當(dāng)前正在顯示的功能。
整型 getMonitorsNum() 獲取保存在內(nèi)存中的IAbilityMonitor對(duì)象的總數(shù)。
void print(String msg) 將日志信息打印到單元測(cè)試控制臺(tái)。
void removeAbilityMonitorIAbilityMonitor監(jiān)視器) 從應(yīng)用程序內(nèi)存中刪除指定的IAbilityMonitor對(duì)象。
布爾值  runOnUIThreadSync(Runnable task) 在UI線程上運(yùn)行指定的任務(wù)并阻塞線程,直到任務(wù)完成。
Optional<Ability> startAbilitySync(Intent intent) 根據(jù)給定的Intent啟動(dòng)一項(xiàng)功能,并等待2秒鐘以開始運(yùn)行該功能,然后再返回。
Optional<Ability> startAbilitySync(Intent intent, long timeout) 根據(jù)給定的Intent啟動(dòng)一項(xiàng)功能,并等待指定的時(shí)間段才能開始運(yùn)行該功能,然后再返回。
boolean stopAbility(Ability ability) 消滅指定的能力。
boolean triggerClickEvent(Ability ability, Component view) 將click事件調(diào)度到給定功能的指定Component對(duì)象,并等待對(duì)其進(jìn)行處理。
boolean triggerKeyEvent(Ability ability, KeyEvent keyEvent) 將按鍵事件分配給給定的功能,然后等待其處理。
boolean triggerTouchEvent(Ability ability, TouchEvent touchEvent) 將觸摸事件分配給給定的功能,然后等待其處理。
Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor) 等待并返回與在給定IAbilityMonitor中設(shè)置的條件匹配的Ability對(duì)象。
Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor, long timeout) 等待并返回與指定時(shí)間段內(nèi)給定IAbilityMonitor中設(shè)置的條件匹配的Ability對(duì)象。

領(lǐng)域細(xì)節(jié)

活性

static final int有效

指示該能力處于活動(dòng)狀態(tài)。

也可以看看:

常數(shù)欄位值

背景

靜態(tài)最終int背景

指示該能力處于后臺(tái)狀態(tài)。

也可以看看:

常數(shù)欄位值

不活躍

靜態(tài)最終int不活動(dòng)

指示該能力處于非活動(dòng)狀態(tài)。

也可以看看:

常數(shù)欄位值

初始

靜態(tài)最終 int INITIAL

指示該能力處于初始狀態(tài)。

也可以看看:

常數(shù)欄位值

未定義

static final int 未定義

表示該能力的生命周期狀態(tài)未定義。

也可以看看:

常數(shù)欄位值

方法細(xì)節(jié)

等待能力監(jiān)控器

可選的 < Ability > waitAbilityMonitor(IAbilityMonitor監(jiān)視器)

等待并返回與在給定IAbilityMonitor中設(shè)置的條件匹配的Ability對(duì)象 。

如果成功獲得匹配的能力,則指定的IAbilityMonitor對(duì)象將無(wú)效。否則,您可以繼續(xù)在waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor)waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor,long)中使用它以獲得技能。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
監(jiān)控 指示用于監(jiān)視功能的生命周期狀態(tài)變化的IAbilityMonitor對(duì)象。

返回值:

如果其生命周期狀態(tài)已更改并且與給定監(jiān)視器匹配,則返回包含Ability對(duì)象的Optional對(duì)象;否則返回一個(gè)空的Optional對(duì)象。

等待能力監(jiān)控器

Optional<Ability> waitAbilityMonitor(IAbilityMonitor monitor, long timeout)等待并返回與指定時(shí)間段內(nèi)給定IAbilityMonitor中設(shè)置的條件匹配的Ability對(duì)象 。

如果成功獲得匹配的能力,則指定的IAbilityMonitor對(duì)象將無(wú)效。否則,您可以繼續(xù)在waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor)waitAbilityMonitor(ohos.aafwk.ability.delegation.IAbilityMonitor,long)中使用它以獲得技能。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
監(jiān)控 指示用于監(jiān)視功能的生命周期狀態(tài)變化的IAbilityMonitor對(duì)象。
超時(shí) 指示等待的最長(zhǎng)時(shí)間(以毫秒為單位)。該值必須是一個(gè)正整數(shù)。

返回值:

如果其生命周期狀態(tài)已更改并且與給定監(jiān)視器匹配,則返回包含Ability對(duì)象的Optional對(duì)象;否則返回一個(gè)空的Optional對(duì)象。

啟動(dòng)能力同步

可選的 < Ability > startAbilitySync(Intent intent)

根據(jù)給定的Intent啟動(dòng)一項(xiàng)功能,并等待2秒鐘以開始運(yùn)行該功能,然后再返回。

如果2秒鐘內(nèi)沒有啟動(dòng)任何功能,則將返回一個(gè)空的Optional對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示啟動(dòng)該能力的意圖。

返回值:

如果在2秒內(nèi)成功啟動(dòng)了包含啟動(dòng)的 Ability 對(duì)象的 Optional 對(duì)象,則返回該對(duì)象;否則返回一個(gè)空的 Optional 對(duì)象。

在UI線程同步上運(yùn)行

boolean runOnUIThreadSync(Runnable task)

在 UI 線程上運(yùn)行指定的任務(wù)并阻塞線程,直到任務(wù)完成。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
任務(wù) 指示要運(yùn)行的可運(yùn)行任務(wù)。

返回值:

如果任務(wù)在 UI 線程上成功執(zhí)行,則返回true;否則,返回 true。否則返回 false。

啟動(dòng)能力同步

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

根據(jù)給定的Intent啟動(dòng)一項(xiàng)功能,并等待指定的時(shí)間段才能開始運(yùn)行該功能,然后再返回。

如果在超時(shí)指定的時(shí)間內(nèi)沒有啟動(dòng)任何能力,則將返回一個(gè)空的Optional對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示啟動(dòng)該能力的意圖。
超時(shí) 指示等待的最長(zhǎng)時(shí)間(以毫秒為單位)。該值必須是一個(gè)正整數(shù)。

返回值:

如果在指定時(shí)間內(nèi)成功啟動(dòng)了包含啟動(dòng)的 Ability 對(duì)象的 Optional 對(duì)象,則返回該對(duì)象;否則返回一個(gè)空的 Optional 對(duì)象。

停止能力

boolean stopAbility(Ability ability)

消滅指定的能力。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
能力 指示要銷毀的能力對(duì)象。

返回值:

如果該能力被成功銷毀,則返回true;否則返回true。否則返回false。

觸發(fā)觸摸事件

boolean triggerTouchEvent(Ability ability,TouchEvent touchEvent)

將觸摸事件分配給給定的功能,然后等待其處理。

此方法是同步的,不能在UI線程上運(yùn)行。否則,UI線程將被掛起。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
能力 指示能力對(duì)象。
觸摸事件 指示要調(diào)度的觸摸事件。

返回值:

如果成功調(diào)度touch事件,則返回true;否則,返回false。否則返回false。

布爾觸發(fā)器Click事件

boolean triggerClickEvent(Ability ability, Component view)

將 click 事件調(diào)度到給定功能的指定 Component 對(duì)象,并等待對(duì)其進(jìn)行處理。

此方法是同步的,不能在UI線程上運(yùn)行。否則,UI線程將被掛起。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
能力 指示能力對(duì)象。
視圖 指示點(diǎn)擊功能的組成部分。

返回值:

如果成功調(diào)度了click事件,則返回true;否則,返回true。否則返回false。

觸發(fā)按鍵事件

boolean triggerKeyEvent(能力,KeyEvent keyEvent)

將按鍵事件分配給給定的功能,然后等待其處理。

此方法是同步的,不能在UI線程上運(yùn)行。否則,UI線程將被掛起。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
ability 指示能力對(duì)象。
keyEvent 指示要調(diào)度的關(guān)鍵事件。

返回值:

如果成功調(diào)度關(guān)鍵事件,則返回true;否則,返回true。否則返回false。

添加能力監(jiān)控器

IAbilityMonitor addAbilityMonitor((字符串標(biāo)記)

基于指定的功能名稱創(chuàng)建 IAbilityMonitor對(duì)象,以監(jiān)視功能的生命周期狀態(tài)變化。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
ability Name 指示監(jiān)視功能的名稱。

返回值:

返回創(chuàng)建的IAbilityMonitor對(duì)象。

獲取顯示器數(shù)量

int getMonitorsNum()

獲取保存在內(nèi)存中的IAbilityMonitor對(duì)象的總數(shù) 。

返回值:

返回IAbilityMonitor對(duì)象的總數(shù)。

清除所有監(jiān)視器

無(wú)效clearAllMonitors()

清除保存在內(nèi)存中的所有 IAbilityMonitor對(duì)象。

獲取能力狀態(tài)

int getAbilityState(Ability ability)

獲得指定能力的生命周期狀態(tài)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
ability 指示要獲取其狀態(tài)的Ability對(duì)象。

返回值:

返回能力的狀態(tài),可以是UNDEFINED等等。

刪除能力監(jiān)視器

void removeAbilityMonitor(IAbilityMonitor monitor)

從應(yīng)用程序內(nèi)存中刪除指定的 IAbilityMonitor對(duì)象。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
monitor 指示要?jiǎng)h除的IAbilityMonitor對(duì)象。

打印

無(wú)效打?。?a rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" >String msg)

將日志信息打印到單元測(cè)試控制臺(tái)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
msg 指示要打印的信息。

獲得當(dāng)前最高能力

能力 getCurrentTopAbility()

獲得當(dāng)前正在顯示的功能。

返回值:

返回當(dāng)前顯示的能力。

獲得能力切片狀態(tài)

int getAbilitySliceState(AbilitySlice targetSlice)

獲取指定能力切片的生命周期狀態(tài)。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
targetSlice 指示要獲取其狀態(tài)的AbilitySlice對(duì)象。

返回值:

返回能力切片的狀態(tài),該狀態(tài)可以是未定義的,依此類推。

獲得所有能力切片

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

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
ability 指示能力對(duì)象。

返回值:

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

獲得當(dāng)前能力切片

AbilitySlice getCurrentAbilitySlice(Ability ability)

獲得指定能力的最高能力切片。最高能力切片是指當(dāng)前顯示的能力切片。

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
ability 指示能力對(duì)象。

返回值:

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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)