HarmonyOS appRecovery.restartApp无效

测试环境下我们可以手动切换环境变量,切换环境变量后重启才能生效。

1. 直接使用appRecovery.restartApp(),重启app不起作用,报错: AppRecovery not enabled。

2. 先调用appRecovery.enableAppRecovery后再调用appRecovery.restartApp,报错 ScheduleRecoverApp ability is nullptr。

3. 先调用appRecovery.enableAppRecovery和appRecovery.setRestartWant后再调用appRecovery.restartApp,报错 ScheduleRecoverApp ability is nullptr。

请问该场景下应该使用什么api主动重启app。

HarmonyOS
2024-11-14 09:34:13
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

​一、具体操作步骤如下:

1.module.json5中配置支持恢复的Ability。

2.新建个ets页面在onCreate中给应用赋能 如下:

3.在module.json5中的srcEntry中 配置新建ets的路径。

4.页面调用 appRecovery.restartApp()。

二、代码配置示例如下:​

//AbilityStage 
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 
    ); 
 
    let want ={ 
      bundleName:'com.example.testxx', 
      abilityName:"EntryAbility" 
    } 
    appRecovery.setRestartWant(want) 
  } 
} 
 
“module”: { 
  “name”: “entry”, 
  “srcEntry”: ‘./ets/AbilityStage/AbilityStage.ets’, 
  … 
  “abilities”: [ 
  { 
    “name”: “EntryAbility”, 
    … 
    “recoverable”: true, 
    … 
    //page 
    .onClick(() => { 
    appRecovery.restartApp(); 
  })

​三、这个重启有内置CD 60秒内只能重启1次。

四、具体API使用可参考如下链接:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-apprecovery-V5

分享
微博
QQ
微信
回复
2024-11-14 15:47:36
相关问题
HarmonyOS appRecovery.restartApp()方法无效
150浏览 • 1回复 待解决
restartApp在应用非获焦时无法使用
542浏览 • 1回复 待解决
HarmonyOS @Watch无效
70浏览 • 1回复 待解决
HarmonyOS designWidth设置无效
126浏览 • 1回复 待解决
HarmonyOS camera设置对焦无效
649浏览 • 1回复 待解决
HarmonyOS 监听键盘显示隐藏无效
187浏览 • 1回复 待解决
HarmonyOS 替换名称和logo无效
166浏览 • 1回复 待解决
HarmonyOS 组件设置属性无效
662浏览 • 1回复 待解决
HarmonyOS 显示软键盘方法无效
121浏览 • 1回复 待解决
HarmonyOS 自定义dialog open无效
483浏览 • 1回复 待解决
CommonDialog的setSwipeToDismiss(false)无效
6661浏览 • 1回复 待解决
HMOS开发:js getBoundingClientRect()无效
8750浏览 • 1回复 待解决
notifyDataChanged() 无效
6661浏览 • 4回复 待解决
HarmonyOS Token无效问题
175浏览 • 1回复 待解决
HarmonyOS 设置margin无效
40浏览 • 1回复 待解决
HarmonyOS 设置 bodercolor 无效
440浏览 • 1回复 待解决