diff --git a/services/abilitymgr/src/ability_connect_manager.cpp b/services/abilitymgr/src/ability_connect_manager.cpp index 9b0f5c7a27d56840d103ba240fd4ab109133589b..a873f3b49e6c8ab679fd06ab3dffe8a40ee1aac4 100644 --- a/services/abilitymgr/src/ability_connect_manager.cpp +++ b/services/abilitymgr/src/ability_connect_manager.cpp @@ -1020,9 +1020,11 @@ void AbilityConnectManager::RemoveConnectionRecordFromMap(const std::shared_ptr< void AbilityConnectManager::RemoveServiceAbility(const std::shared_ptr &abilityRecord) { CHECK_POINTER(abilityRecord); - auto&& element = abilityRecord->GetWant().GetElement().GetURI(); - HILOG_DEBUG("Remove service(%{public}s) from terminating map.", element.c_str()); - terminatingExtensionMap_.erase(element); + auto& abilityInfo = abilityRecord->GetAbilityInfo(); + AppExecFwk::ElementName element(abilityInfo.deviceId, abilityInfo.bundleName, abilityInfo.name, + abilityInfo.moduleName); + HILOG_DEBUG("Remove service(%{public}s) from terminating map.", element.GetURI().c_str()); + terminatingExtensionMap_.erase(element.GetURI()); } void AbilityConnectManager::AddConnectDeathRecipient(const sptr &connect) @@ -1562,11 +1564,14 @@ void AbilityConnectManager::PrintTimeOutLog(const std::shared_ptr ability->GetAbilityInfo().name.c_str(), msgContent.c_str()); } -void AbilityConnectManager::MoveToTerminatingMap(const std::shared_ptr& abilityRecord) { +void AbilityConnectManager::MoveToTerminatingMap(const std::shared_ptr& abilityRecord) +{ CHECK_POINTER(abilityRecord); - auto&& element = abilityRecord->GetWant().GetElement().GetURI(); - terminatingExtensionMap_.emplace(element, abilityRecord); - serviceMap_.erase(element); + auto& abilityInfo = abilityRecord->GetAbilityInfo(); + AppExecFwk::ElementName element(abilityInfo.deviceId, abilityInfo.bundleName, abilityInfo.name, + abilityInfo.moduleName); + terminatingExtensionMap_.emplace(element.GetURI(), abilityRecord); + serviceMap_.erase(element.GetURI()); } } // namespace AAFwk } // namespace OHOS