appRecovery模塊提供了應(yīng)用在故障狀態(tài)下的恢復(fù)能力。
說明
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。當(dāng)前版本僅支持單進(jìn)程中單Ability的應(yīng)用恢復(fù)。
導(dǎo)入模塊
import appRecovery from ‘@ohos.app.ability.appRecovery’;
appRecovery.RestartFlag
應(yīng)用重啟標(biāo)志,enableAppRecovery接口重啟選項參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| ALWAYS_RESTART | 0 | 總是重啟應(yīng)用。 |
| RESTART_WHEN_JS_CRASH | 0x0001 | 發(fā)生JS_CRASH時重啟應(yīng)用。 |
| RESTART_WHEN_APP_FREEZE | 0x0002 | 發(fā)生APP_FREEZE時重啟應(yīng)用。 |
| NO_RESTART | 0xFFFF | 總是不重啟應(yīng)用。 |
appRecovery.SaveOccasionFlag
保存條件標(biāo)志,enableAppRecovery接口狀態(tài)保存時的選項參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| SAVE_WHEN_ERROR | 0x0001 | 當(dāng)發(fā)生應(yīng)用故障時保存。 |
| SAVE_WHEN_BACKGROUND | 0x0002 | 當(dāng)應(yīng)用切入后臺時保存。 |
appRecovery.SaveModeFlag
狀態(tài)保存標(biāo)志,enableAppRecovery接口狀態(tài)保存方式的參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| SAVE_WITH_FILE | 0x0001 | 每次狀態(tài)保存都會寫入到本地文件緩存。 |
| SAVE_WITH_SHARED_MEMORY | 0x0002 | 狀態(tài)先保存在內(nèi)存中,應(yīng)用故障退出時寫入到本地文件緩存。 |
appRecovery.enableAppRecovery
enableAppRecovery(restart?: RestartFlag, saveOccasion?: SaveOccasionFlag, saveMode?: SaveModeFlag) : void;
使能應(yīng)用恢復(fù)功能,參數(shù)按順序填入。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| restart | RestartFlag | 否 | 枚舉類型,發(fā)生對應(yīng)故障時是否重啟,默認(rèn)為不重啟。 |
| saveOccasion | SaveOccasionFlag | 否 | 枚舉類型,狀態(tài)保存時機,默認(rèn)為故障時保存。 |
| saveMode | SaveModeFlag | 否 | 枚舉類型,狀態(tài)保存方式, 默認(rèn)為文件緩存。 |
示例:
import appRecovery from '@ohos.app.ability.appRecovery'; import AbilityStage from '@ohos.app.ability.AbilityStage'; export default class MyAbilityStage extends AbilityStage { onCreate() { appRecovery.enableAppRecovery( appRecovery.RestartFlag.ALWAYS_RESTART, appRecovery.SaveOccasionFlag.SAVE_WHEN_ERROR, appRecovery.SaveModeFlag.SAVE_WITH_FILE ); } }
appRecovery.restartApp
restartApp(): void;
重啟當(dāng)前App進(jìn)程,可以配合errorManager相關(guān)接口使用。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.Core
示例:
import appRecovery from '@ohos.app.ability.appRecovery';
import errorManager from '@ohos.app.ability.errorManager';
let observer = {
onUnhandledException(errorMsg) {
console.log('onUnhandledException, errorMsg: ', errorMsg);
appRecovery.restartApp();
}
};
try {
errorManager.on('error', observer);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
appRecovery.saveAppState
saveAppState(): boolean;
保存當(dāng)前App狀態(tài),可以配合errorManager相關(guān)接口使用
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.Core
返回值:
| 類型 | 說明 |
|---|---|
| boolean | 保存成功與否。true:保存成功,false:保存失敗。 |
示例:
import appRecovery from '@ohos.app.ability.appRecovery';
import errorManager from '@ohos.app.ability.errorManager';
let observer = {
onUnhandledException(errorMsg) {
console.log('onUnhandledException, errorMsg: ', errorMsg);
appRecovery.saveAppState();
}
};
try {
errorManager.on('error', observer);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
9491瀏覽量
156593 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2932瀏覽量
45583
發(fā)布評論請先 登錄
鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】
鴻蒙開發(fā)接口Ability框架:【@ohos.ability.featureAbility (FeatureAbility模塊)】
鴻蒙開發(fā)接口Ability框架:【@ohos.application.missionManager (missionManager)】
鴻蒙開發(fā)接口Ability框架:【@ohos.ability.particleAbility (particleAbility模塊)】
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(九)上
鴻蒙Ability開發(fā)-Stage模型下Ability的創(chuàng)建和使用
鴻蒙應(yīng)用模型開發(fā)-更新SDK后報錯解決
跟阿斌一起學(xué)鴻蒙(2): Ability vs App?
跟阿斌一起學(xué)鴻蒙(2): Ability vs App?
圖解鴻蒙Page Ability的LaunchType
OpenHarmony開發(fā)之Ability架構(gòu)
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS的Ability基類
鴻蒙開發(fā)之EventHub
鴻蒙OS開發(fā)實例:【工具類封裝-頁面路由】
鴻蒙Ability Kit(程序框架服務(wù))【Ability與ServiceExtensionAbility通信】
鴻蒙之@ohos.app.ability.appRecovery (appRecovery)
評論