HarmonyOS QT框架,QProcess::startDetached无法重新启动应用程序

1、调用qt接口QProcess::startDetached(qApp->applicationFilePath(),QStringList()),无法重新启动应用程序。

2、用另一个方案,调用QtOhosExtras::startAbility,传入当前应用的BundleName和AbilityName,也无法启动应用。

HarmonyOS
2025-01-10 09:38:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

调用appRecovery.restartApp()接口,可以重启应用。需要配置:

1.在module.json5中的srcEntry:添加

"srcEntry": "./ets/abilitystage/abilitystage.ets",

2.module.json5中配置支持恢复的Ability:

"abilities": [
{
  "name": "EntryAbility",
  "recoverable": true,
}
]

3.新建AbilityStage类: ./ets/abilitystage/abilitystage.ets:

import appRecovery from '@ohos.app.ability.appRecovery';
import AbilityStage from '@ohos.app.ability.AbilityStage';
import Want from '@ohos.app.ability.Want';

export default class MyAbilityStage extends AbilityStage {
  onCreate(): void {
    appRecovery.enableAppRecovery(
      appRecovery.RestartFlag.ALWAYS_RESTART,
      appRecovery.SaveOccasionFlag.SAVE_WHEN_ERROR,
      appRecovery.SaveModeFlag.SAVE_WITH_FILE
    );

    let want: Want ={
      bundleName:'com.example.pagesrouter',
      abilityName:"EntryAbility"
    }
    appRecovery.setRestartWant(want)
  };
};

4.调用接口appRecovery.restartApp();

分享
微博
QQ
微信
回复
2025-01-10 12:24:02
相关问题
HarmonyOS Ability重新启动推荐方案
456浏览 • 1回复 待解决
HarmonyOS 结束应用程序进程
516浏览 • 1回复 待解决
HarmonyOS 如何退出应用程序
1150浏览 • 1回复 待解决
HarmonyOS 退出应用程序代码
579浏览 • 1回复 待解决
HarmonyOS 主动退出应用程序问题
1283浏览 • 1回复 待解决
HarmonyOS 如何获取应用程序名称?
1291浏览 • 1回复 待解决
如何获取当前应用程序缓存目录
2386浏览 • 1回复 待解决
HarmonyOS 应用启动框架AppStartup问题
613浏览 • 1回复 待解决
HarmonyOS 需要Electron和Qt框架支持
1113浏览 • 1回复 待解决
应用启动框架AppStartup应用场景分析
917浏览 • 1回复 待解决
鸿蒙应用程序的开发是单线程的么?
3916浏览 • 1回复 待解决