HarmonyOS 调用重启api appRecovery.restartApp()无反应

HarmonyOS
2024-12-23 15:20:38
552浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

参照下以下步骤确认下是否均已配置:

  1. 创建Ability:
import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';

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:Want = {
      bundleName:'com.example.apprestartdemo',
      abilityName:"EntryAbility" // 需要拉起的Ability
    }
    appRecovery.setRestartWant(want)
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  1. 配置Ability作为启动ability

module.json5文件中

"module": {
  "name": "entry",
  "srcEntry": "./ets/AbilityStage/MyAbilityStage.ets",
  ...
  • 1.
  • 2.
  • 3.
  • 4.
  1. 设置需要重启的UIAiblity

module.json5文件中

"abilities": [
{
  "name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"recoverable": true,
  ...
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  1. 页面执行重启APP的操作:
Row() {
  Column() {
    Text(this.message)
      .fontSize(50)
      .fontWeight(FontWeight.Bold)
    Blank()
    Button('AppRestart')
      .onClick(() => {
        // 重启App
        appRecovery.restartApp();
      })
  }
  .width('100%')
}
.height('100%')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
分享
微博
QQ
微信
回复
2024-12-23 16:44:36


相关问题
HarmonyOS appRecovery.restartApp无效
1106浏览 • 1回复 待解决
HarmonyOS appRecovery.restartApp()方法无效
513浏览 • 1回复 待解决
HarmonyOS 执行createAsset方法反应
1053浏览 • 1回复 待解决
HarmonyOS web下载文件点击反应
1041浏览 • 1回复 待解决
HarmonyOS push可以收到,但点击反应
718浏览 • 1回复 待解决
操作反应
7169浏览 • 3回复 待解决
使用华为支付,调用收银台没有反应
1411浏览 • 1回复 待解决