HarmonyOS 如何通过代码重启自身App?

HarmonyOS 如何通过代码重启自身App?

HarmonyOS
2024-11-14 09:47:38
633浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

​应用恢复参考文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/apprecovery-guidelines-V5

实现步骤:

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

2.新建AbilityStage类,在onCreate中设置启动恢复参数。

3.在module.json5中的srcEntry中 配置新建的Ability,作为应用启动的ability。

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

参考代码:

创建Ability​。

//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.test’, 
      abilityName:“EntryAbility” 
    } 
    appRecovery.setRestartWant(want) 
  } 
} 
 
//配置Ability作为启动ability 
“module”: { 
  “name”: “entry”, 
  “srcEntry”: ‘./ets/AbilityStage/AbilityStage.ets’, 
  … 
  ///设置需要重启的UIAiblity 
  “abilities”: [ 
  { 
    “name”: “EntryAbility”, 
    … 
    “recoverable”: true, 
    … 
    //页面执行重启APP的操作 
    //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.
  • 35.
  • 36.
分享
微博
QQ
微信
回复
2024-11-14 16:53:01
相关问题
如何通过代码触发APP重启
2633浏览 • 1回复 待解决
HarmonyOS 如何手动重启APP
555浏览 • 1回复 待解决
怎样获取app自身bundleName?
1565浏览 • 1回复 待解决
如何停止UIAbility自身
2606浏览 • 1回复 待解决
HarmonyOS 如何通过代码取消代理
759浏览 • 1回复 待解决
HarmonyOS 如何通过代码获取appID
831浏览 • 1回复 待解决
HarmonyOS 如何通过代码获取应用名称
809浏览 • 1回复 待解决
如何通过代码关闭子窗口?
1177浏览 • 1回复 待解决
如何获取应用自身的bundleName
3416浏览 • 1回复 待解决
HarmonyOS 如何通过代码来关闭实况窗
1191浏览 • 1回复 待解决
HarmonyOS如何实现重启应用
1875浏览 • 1回复 待解决
HarmonyOS 如何监听组件自身尺寸变化
785浏览 • 1回复 待解决
ArkUI如何通过代码动态创建组件
3470浏览 • 1回复 待解决
如何重启 OceanBase 集群?
4205浏览 • 1回复 待解决
HarmonyOS 子组件内如何获取自身大小
1101浏览 • 1回复 待解决