diff --git a/services/privacymanager/src/sensitive/audio_manager/audio_manager_adapter.cpp b/services/privacymanager/src/sensitive/audio_manager/audio_manager_adapter.cpp index 91458d52fef453043c6a3b29870d6009bb6a96f2..fc68bdbd5b961dc3f8eedd3b7009f7f688316880 100644 --- a/services/privacymanager/src/sensitive/audio_manager/audio_manager_adapter.cpp +++ b/services/privacymanager/src/sensitive/audio_manager/audio_manager_adapter.cpp @@ -54,7 +54,7 @@ bool AudioManagerAdapter::GetPersistentMicMuteState() MessageParcel reply; MessageOption option; - std::u16string AUDIO_MGR_DESCRIPTOR = u"IAudioPolicy"; + std::u16string AUDIO_MGR_DESCRIPTOR = u"OHOS.AudioStandard.IAudioPolicy"; if (!data.WriteInterfaceToken(AUDIO_MGR_DESCRIPTOR)) { LOGE(PRI_DOMAIN, PRI_TAG, "Failed to write WriteInterfaceToken."); return false; @@ -66,7 +66,12 @@ bool AudioManagerAdapter::GetPersistentMicMuteState() LOGE(PRI_DOMAIN, PRI_TAG, "SendRequest error: %{public}d", error); return false; } - return reply.ReadBool(); + int32_t errorCode = reply.ReadInt32(); + if (errorCode != NO_ERROR) { + LOGE(PRI_DOMAIN, PRI_TAG, "GET_MICROPHONE_MUTE_PERSISTENT error: %{public}d", errorCode); + return false; + } + return reply.ReadInt32() == 1 ? true : false; #endif }