diff --git a/services/service/src/device_manager_service.cpp b/services/service/src/device_manager_service.cpp index 010515b1b362809cb79bfc19a7b19b9dc9fb64b5..43289438a7d756b70764804ef8ae92bf872dcb65 100644 --- a/services/service/src/device_manager_service.cpp +++ b/services/service/src/device_manager_service.cpp @@ -1967,6 +1967,10 @@ DM_EXPORT void DeviceManagerService::AccountCommonEventCallback( if (commonEventType == CommonEventSupport::COMMON_EVENT_USER_SWITCHED) { DeviceNameManager::GetInstance().InitDeviceNameWhenUserSwitch(currentUserId, beforeUserId); MultipleUserConnector::SetAccountInfo(currentUserId, MultipleUserConnector::GetCurrentDMAccountInfo()); + if (beforeUserId != -1 && currentUserId != -1 && IsDMServiceAdapterResidentLoad()) { + dmServiceImplExtResident_->AccountUserSwitched( + currentUserId, MultipleUserConnector::GetOhosAccountId()); + } DMCommTool::GetInstance()->StartCommonEvent(commonEventType, [this, commonEventType] () { DeviceManagerService::HandleAccountCommonEvent(commonEventType);