diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index 3857c0f4c8400ab9ac561c774a598d58620b11dd..b39ffc70b23d7de63cda9863eaae3ca3fac50904 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -2816,7 +2816,7 @@ int AbilityManagerService::StartUIAbilityBySCBDefault(sptr sessionI "generate ability request local error", true); return result; } - if (sessionInfo->isCallBySCB) { + if (sessionInfo->want.GetBoolParam(ServerConstant::IS_CALL_BY_SCB, true)) { TAG_LOGD(AAFwkTag::ABILITYMGR, "interceptorExecuter_ called"); (sessionInfo->want).RemoveParam(IS_CALLING_FROM_DMS); auto shouldBlockFunc = [aams = shared_from_this()]() { return aams->ShouldBlockAllAppStart(); }; @@ -2834,7 +2834,7 @@ int AbilityManagerService::StartUIAbilityBySCBDefault(sptr sessionI } } - if (sessionInfo->isCallBySCB) { + if (sessionInfo->want.GetBoolParam(ServerConstant::IS_CALL_BY_SCB, true)) { if (sessionInfo->startSetting != nullptr) { TAG_LOGD(AAFwkTag::ABILITYMGR, "Start by scb, last not."); sessionInfo->startSetting->AddProperty(AbilityStartSetting::IS_START_BY_SCB_KEY, "true"); @@ -2860,7 +2860,7 @@ int AbilityManagerService::StartUIAbilityBySCBDefault(sptr sessionI return ERR_INVALID_VALUE; } - if (sessionInfo->isCallBySCB) { + if (sessionInfo->want.GetBoolParam(ServerConstant::IS_CALL_BY_SCB, true)) { TAG_LOGD(AAFwkTag::ABILITYMGR, "afterCheckExecuter_ called"); if (sessionInfo->want.GetBoolParam("ohos.ability.params.isSkipErmsFromSCB", false)) { abilityRequest.want.RemoveParam("ohos.ability.params.isSkipErmsFromSCB"); diff --git a/services/abilitymgr/src/scene_board/ui_ability_lifecycle_manager.cpp b/services/abilitymgr/src/scene_board/ui_ability_lifecycle_manager.cpp index c07358f10d34d9311d5ef86178429847761d6973..0ba5efd91202ae402250e5bfc5e577780bb878b4 100644 --- a/services/abilitymgr/src/scene_board/ui_ability_lifecycle_manager.cpp +++ b/services/abilitymgr/src/scene_board/ui_ability_lifecycle_manager.cpp @@ -207,12 +207,13 @@ int UIAbilityLifecycleManager::StartUIAbility(AbilityRequest &abilityRequest, sp TAG_LOGI(AAFwkTag::ABILITYMGR, "scb call, preload start"); abilityRequest.processOptions = sessionInfo->processOptions; } + auto isCallBySCB = sessionInfo->want.GetBoolParam(ServerConstant::IS_CALL_BY_SCB, true); sessionInfo->want.RemoveParam(ServerConstant::IS_CALL_BY_SCB); TAG_LOGI(AAFwkTag::ABILITYMGR, "StartUIAbility session:%{public}d. bundle:%{public}s, ability:%{public}s, " "instanceKey:%{public}s, requestId: %{public}d, isCallBySCB: %{public}d, reuseDelegator: %{public}d, " "scenarios:%{public}d", sessionInfo->persistentId, abilityRequest.abilityInfo.bundleName.c_str(), abilityRequest.abilityInfo.name.c_str(), sessionInfo->instanceKey.c_str(), - sessionInfo->requestId, sessionInfo->isCallBySCB, sessionInfo->reuseDelegatorWindow, sessionInfo->scenarios); + sessionInfo->requestId, isCallBySCB, sessionInfo->reuseDelegatorWindow, sessionInfo->scenarios); abilityRequest.sessionInfo = sessionInfo; auto uiAbilityRecord = GenerateAbilityRecord(abilityRequest, sessionInfo, isColdStart); CHECK_POINTER_AND_RETURN(uiAbilityRecord, ERR_INVALID_VALUE);