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
1044浏览
收藏 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(); 
  })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.

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

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

分享
微博
QQ
微信
回复1
2024-11-14 15:47:36
相关问题
HarmonyOS appRecovery.restartApp()方法无效
511浏览 • 1回复 待解决
restartApp在应用非获焦时无法使用
917浏览 • 1回复 待解决
HarmonyOS @Watch无效
659浏览 • 1回复 待解决
HarmonyOS designWidth设置无效
563浏览 • 1回复 待解决
HarmonyOS 设置 bodercolor 无效
789浏览 • 1回复 待解决
HarmonyOS Token无效问题
579浏览 • 1回复 待解决
HarmonyOS 设置margin无效
616浏览 • 1回复 待解决
notifyDataChanged() 无效
7248浏览 • 4回复 待解决
HarmonyOS 监听键盘显示隐藏无效
699浏览 • 1回复 待解决
HarmonyOS 组件设置属性无效
1136浏览 • 1回复 待解决
HarmonyOS camera设置对焦无效
1216浏览 • 1回复 待解决
HarmonyOS 替换名称和logo无效
1079浏览 • 1回复 待解决
HarmonyOS React-Navigation无效
619浏览 • 1回复 待解决
HarmonyOS animateTo的duration无效
552浏览 • 1回复 待解决
HarmonyOS uniapp数据缓存无效
716浏览 • 1回复 待解决
HarmonyOS TextInput双向绑定无效
729浏览 • 1回复 待解决
HarmonyOS 更换图标无效
1150浏览 • 2回复 待解决
HarmonyOS 读取相册图片无效
500浏览 • 1回复 待解决
HarmonyOS 复制黏贴功能无效
913浏览 • 1回复 待解决
HarmonyOS bindPopup设置color无效
1865浏览 • 0回复 待解决
HarmonyOS Progress设置渐变无效
510浏览 • 1回复 待解决