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
3天前
浏览
收藏 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
微信
回复
3天前
相关问题
HarmonyOS 设置 bodercolor 无效
206浏览 • 1回复 待解决
restartApp在应用非获焦时无法使用
334浏览 • 1回复 待解决
HarmonyOS 复制黏贴功能无效
124浏览 • 1回复 待解决
HarmonyOS bindPopup设置color无效
561浏览 • 0回复 待解决
notifyDataChanged() 无效
6426浏览 • 4回复 待解决
HarmonyOS 组件设置属性无效
207浏览 • 1回复 待解决
HarmonyOS camera设置对焦无效
257浏览 • 1回复 待解决
HarmonyOS 自定义dialog open无效
141浏览 • 1回复 待解决
HarmonyOS 手机震动接口调用无效
45浏览 • 1回复 待解决
HarmonyOS 相机打开闪光灯设置无效
806浏览 • 1回复 待解决
CommonDialog的setSwipeToDismiss(false)无效
6200浏览 • 1回复 待解决
HMOS开发:js getBoundingClientRect()无效
8373浏览 • 1回复 待解决
linux dotnet--info无效
2757浏览 • 1回复 待解决
hdc smode 无效怎么回事啊?
1000浏览 • 1回复 待解决