W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
appRecovery模塊提供了應(yīng)用在故障狀態(tài)下的恢復(fù)能力。
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。當(dāng)前版本僅支持單進(jìn)程中單Ability的應(yīng)用恢復(fù)。
應(yīng)用重啟標(biāo)志,enableAppRecovery接口重啟選項(xiàng)參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
名稱 | 值 | 說明 |
---|---|---|
ALWAYS_RESTART | 0 | 總是重啟應(yīng)用。 |
RESTART_WHEN_JS_CRASH | 0x0001 | 發(fā)生JS_CRASH時(shí)重啟應(yīng)用。 |
RESTART_WHEN_APP_FREEZE | 0x0002 | 發(fā)生APP_FREEZE時(shí)重啟應(yīng)用。 |
NO_RESTART | 0xFFFF | 總是不重啟應(yīng)用。 |
保存條件標(biāo)志,enableAppRecovery接口狀態(tài)保存時(shí)的選項(xiàng)參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
名稱 | 值 | 說明 |
---|---|---|
SAVE_WHEN_ERROR | 0x0001 | 當(dāng)發(fā)生應(yīng)用故障時(shí)保存。 |
SAVE_WHEN_BACKGROUND | 0x0002 | 當(dāng)應(yīng)用切入后臺(tái)時(shí)保存。 |
狀態(tài)保存標(biāo)志,enableAppRecovery接口狀態(tài)保存方式的參數(shù),該類型為枚舉。
系統(tǒng)能力:以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
名稱 | 值 | 說明 |
---|---|---|
SAVE_WITH_FILE | 0x0001 | 每次狀態(tài)保存都會(huì)寫入到本地文件緩存。 |
SAVE_WITH_SHARED_MEMORY | 0x0002 | 狀態(tài)先保存在內(nèi)存中,應(yīng)用故障退出時(shí)寫入到本地文件緩存。 |
enableAppRecovery(restart?: RestartFlag, saveOccasion?: SaveOccasionFlag, saveMode?: SaveModeFlag) : void;
使能應(yīng)用恢復(fù)功能,參數(shù)按順序填入。
系統(tǒng)能力:SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
restart | RestartFlag | 否 | 枚舉類型,發(fā)生對(duì)應(yīng)故障時(shí)是否重啟,默認(rèn)為不重啟。 |
saveOccasion | SaveOccasionFlag | 否 | 枚舉類型,狀態(tài)保存時(shí)機(jī),默認(rèn)為故障時(shí)保存。 |
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
- );
- }
- }
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);
- }
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);
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: