diff --git a/services/reminder/src/reminder_data_manager.cpp b/services/reminder/src/reminder_data_manager.cpp index 286ad1607af1cd601862d659f9630e8c67c824b3..f43976bb302fbc873189cb8444b0b64eabb68ca1 100644 --- a/services/reminder/src/reminder_data_manager.cpp +++ b/services/reminder/src/reminder_data_manager.cpp @@ -16,6 +16,7 @@ #include "reminder_data_manager.h" #include "ability_manager_client.h" +#include "ans_convert_enum.h" #include "ans_log_wrapper.h" #include "ans_const_define.h" #include "common_event_support.h" @@ -888,6 +889,8 @@ void ReminderDataManager::TerminateAlerting(const sptr &reminde int32_t uid = reminder->GetUid(); ANSR_LOGD("publish(update) notification.(reminderId=%{public}d)", reminder->GetReminderId()); NotificationRequest notificationRequest(reminder->GetNotificationId()); + notificationRequest.SetNotificationControlFlags(static_cast( + NotificationNapi::NotificationControlFlagStatus::NOTIFICATION_STATUS_CLOSE_SOUND)); reminder->UpdateNotificationRequest(notificationRequest, false); IN_PROCESS_CALL_WITHOUT_RET(NotificationHelper::PublishNotification( ReminderRequest::NOTIFICATION_LABEL, notificationRequest)); @@ -1099,6 +1102,11 @@ void ReminderDataManager::ShowReminder(const sptr &reminder, co if (alertingReminderId_ != -1) { TerminateAlerting(alertingReminder_, "PlaySoundAndVibration"); } + if (toPlaySound) { + // close notification default sound. + notificationRequest.SetNotificationControlFlags(static_cast( + NotificationNapi::NotificationControlFlagStatus::NOTIFICATION_STATUS_CLOSE_SOUND)); + } ErrCode errCode = IN_PROCESS_CALL(NotificationHelper::PublishNotification(ReminderRequest::NOTIFICATION_LABEL, notificationRequest)); if (errCode != ERR_OK) {