設(shè)置初次啟動原因、上次退出原因、遷移結(jié)果、窗口類型

2024-01-22 18:52 更新

AbilityConstant提供Ability相關(guān)的枚舉,包括設(shè)置初次啟動原因、上次退出原因、遷移結(jié)果、窗口類型等。

說明

本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

本模塊接口僅可在Stage模型下使用。

導(dǎo)入模塊

  1. import AbilityConstant from '@ohos.app.ability.AbilityConstant';

屬性

AbilityConstant.LaunchParam

啟動參數(shù)。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

類型

可讀

可寫

說明

launchReason

LaunchReason

枚舉類型,表示啟動原因。

lastExitReason

LastExitReason

枚舉類型,表示最后退出原因。

AbilityConstant.LaunchReason

Ability初次啟動原因,該類型為枚舉,可配合AbilityonCreate(want, launchParam)方法根據(jù)launchParam.launchReason的不同類型執(zhí)行相應(yīng)操作。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

UNKNOWN

0

未知原因。

START_ABILITY

1

通過startAbility接口啟動ability。

CALL

2

通過startAbilityByCall接口啟動ability。

CONTINUATION

3

跨端設(shè)備遷移啟動ability。

APP_RECOVERY

4

設(shè)置應(yīng)用恢復(fù)后,應(yīng)用故障時(shí)自動恢復(fù)啟動ability。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onCreate(want, launchParam) {
  4. if (launchParam.launchReason === AbilityConstant.LaunchReason.START_ABILITY) {
  5. console.log('The ability has been started by the way of startAbility.');
  6. }
  7. }
  8. }

AbilityConstant.LastExitReason

Ability上次退出原因,該類型為枚舉,可配合AbilityonCreate(want, launchParam)方法根據(jù)launchParam.lastExitReason的不同類型執(zhí)行相應(yīng)操作。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

UNKNOWN

0

未知原因。

ABILITY_NOT_RESPONDING

1

ability未響應(yīng)。

NORMAL

2

正常退出。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onCreate(want, launchParam) {
  4. if (launchParam.lastExitReason === AbilityConstant.LastExitReason.ABILITY_NOT_RESPONDING) {
  5. console.log('The ability has exit last because the ability was not responding.');
  6. }
  7. }
  8. }

AbilityConstant.OnContinueResult

Ability遷移結(jié)果,該類型為枚舉,可配合AbilityonContinue(wantParam)方法進(jìn)完成相應(yīng)的返回。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

AGREE

0

同意。

REJECT

1

拒絕。

MISMATCH

2

不匹配。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onContinue(wantParam) {
  4. return AbilityConstant.OnContinueResult.AGREE;
  5. }
  6. }

AbilityConstant.MemoryLevel

內(nèi)存級別,該類型為枚舉,可配合AbilityonMemoryLevel(level)方法根據(jù)level執(zhí)行不同內(nèi)存級別的相應(yīng)操作。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

MEMORY_LEVEL_MODERATE

0

內(nèi)存占用適中。

MEMORY_LEVEL_LOW

1

內(nèi)存占用低。

MEMORY_LEVEL_CRITICAL

2

內(nèi)存占用高。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onMemoryLevel(level) {
  4. if (level === AbilityConstant.MemoryLevel.MEMORY_LEVEL_CRITICAL) {
  5. console.log('The memory of device is critical, please release some memory.');
  6. }
  7. }
  8. }

AbilityConstant.OnSaveResult

保存應(yīng)用數(shù)據(jù)的結(jié)果,該類型為枚舉,可配合AbilityonSaveState(reason, wantParam)方法完成相應(yīng)的返回。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

ALL_AGREE

0

總是同意保存狀態(tài)。

CONTINUATION_REJECT

1

拒絕遷移保存狀態(tài)。

CONTINUATION_MISMATCH

2

遷移不匹配。

RECOVERY_AGREE

3

同意恢復(fù)保存狀態(tài)。

RECOVERY_REJECT

4

拒絕恢復(fù)保存狀態(tài)。

ALL_REJECT

5

總是拒絕保存狀態(tài)。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onSaveState(reason, wantParam) {
  4. return AbilityConstant.OnSaveResult.ALL_AGREE;
  5. }
  6. }

AbilityConstant.StateType

保存應(yīng)用數(shù)據(jù)場景原因,該類型為枚舉,可配合AbilityonSaveState(reason, wantParam)方法根據(jù)reason的不同類型執(zhí)行相應(yīng)操作。

系統(tǒng)能力:以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core

名稱

說明

CONTINUATION

0

遷移保存狀態(tài)。

APP_RECOVERY

1

應(yīng)用恢復(fù)保存狀態(tài)。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. class MyAbility extends UIAbility {
  3. onSaveState(reason, wantParam) {
  4. if (reason === AbilityConstant.StateType.CONTINUATION) {
  5. console.log('Save the ability data when the ability continuation.');
  6. }
  7. return AbilityConstant.OnSaveResult.ALL_AGREE;
  8. }
  9. }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號