diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index a9b1719e36..8198b1d80d 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -3544,7 +3544,6 @@ void AbilityManagerService::StartUserApps(int32_t userId, bool isBoot) if (currentMissionListManager_ && currentMissionListManager_->IsStarted()) { HILOG_INFO("missionListManager ResumeManager"); currentMissionListManager_->ResumeManager(); - return; } StartSystemAbilityByUser(userId, isBoot); } diff --git a/services/abilitymgr/src/mission_list_manager.cpp b/services/abilitymgr/src/mission_list_manager.cpp index ef5634d8bf..cfc500b1f2 100644 --- a/services/abilitymgr/src/mission_list_manager.cpp +++ b/services/abilitymgr/src/mission_list_manager.cpp @@ -1850,6 +1850,12 @@ void MissionListManager::BackToLauncher() HILOG_WARN("no root launcher ability, no need back to launcher."); return; } + + if (launcherRootAbility->GetAbilityInfo().bundleName != AbilityConfig::LAUNCHER_BUNDLE_NAME) { + HILOG_WARN("not launcher mission, no need back to launcher."); + return; + } + auto launcherRootMission = launcherRootAbility->GetMission(); if (!launcherRootMission) { HILOG_WARN("no root launcher mission, no need back to launcher.");