From 164defa02cbdaef9b96050871616dfdf1be546a4 Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Thu, 18 Dec 2025 18:07:41 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E6=8F=90=E9=86=92=E9=80=BB?= =?utf8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/ThunderBirdReminderView.cpp | 2 +- .../zhihui/leiniao/imsl_ln/ln_api_schedule.c | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp index 6f451495a..a82e443de 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdReminderView.cpp @@ -160,7 +160,7 @@ namespace OHOS // 图标位置:整体居中的左侧 RemindIcon->SetPosition(62, 66, 36, 36); RemindIcon->SetSrc("/user/res/notification.bin"); - RemindIcon->SetVisible(true); + RemindIcon->SetVisible(false); } if (TextLabel) { diff --git a/code/sdk/zhihui/leiniao/imsl_ln/ln_api_schedule.c b/code/sdk/zhihui/leiniao/imsl_ln/ln_api_schedule.c index 8768053c7..9bca13dc2 100644 --- a/code/sdk/zhihui/leiniao/imsl_ln/ln_api_schedule.c +++ b/code/sdk/zhihui/leiniao/imsl_ln/ln_api_schedule.c @@ -214,6 +214,14 @@ void ln_parse_schedule_reminder(const char *json_buf, int json_len) } #endif + // 先推送通知,触发界面切换到 THUNDERBIRD_REMINDERVIEW_TASK_REMINDER + // 这样可以在界面切换完成后再开始下载 + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER] push text and schedule reminder content to ui (before download)\n"); + push_schedule_reminder_notification(g_schedule_reminder.scheduleName, g_schedule_reminder.reminderContent); + + // 延迟一段时间,确保界面切换完成 + LOS_Msleep(300); + int status = uapi_ln_get_audio_play_status(); if(status) { @@ -234,7 +242,7 @@ void ln_parse_schedule_reminder(const char *json_buf, int json_len) AudioServiceSetVolume(AUDIO_STREAM_ALARM_CLOCK, uiVolume); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER] Set ALARM_CLOCK volume to %d%% (from UI volume) before reminder\n", uiVolume); - // 目前是立即提醒的所以直接下载并播放 + // 界面切换完成后再开始下载并播放 WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[JSON_PARSE] download audio:执行下载并播放\n"); uapi_delete_files(LN_REMINDER_AUDIO_FILE); @@ -253,9 +261,7 @@ void ln_parse_schedule_reminder(const char *json_buf, int json_len) if (ret == ERRCODE_SUCC) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[JSON_PARSE] download audio:下载成功\n"); - // 推送文本和日程提醒内容数据给ui - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER] push text and schedule reminder content to ui\n"); - push_schedule_reminder_notification(g_schedule_reminder.scheduleName,g_schedule_reminder.reminderContent); + // 通知已经在下载前推送,这里不再重复推送 // 震动 if (g_schedule_reminder.enableVibration) @@ -277,9 +283,7 @@ void ln_parse_schedule_reminder(const char *json_buf, int json_len) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[JSON_PARSE] download audio:下载失败\n"); /* -------------------------------------------------------------------------- */ - // 推送文本和日程提醒内容数据给ui - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER] push text and schedule reminder content to ui\n"); - push_schedule_reminder_notification(g_schedule_reminder.scheduleName,g_schedule_reminder.reminderContent); + // 通知已经在下载前推送,这里不再重复推送 // 震动 if (g_schedule_reminder.enableVibration) @@ -305,9 +309,7 @@ void ln_parse_schedule_reminder(const char *json_buf, int json_len) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[JSON_PARSE] download audio:不执行下载\n"); /* -------------------------------------------------------------------------- */ - // 推送文本和日程提醒内容数据给ui - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER] push text and schedule reminder content to ui\n"); - push_schedule_reminder_notification(g_schedule_reminder.scheduleName,g_schedule_reminder.reminderContent); + // 通知已经在前面推送,这里不再重复推送 // 震动 if (g_schedule_reminder.enableVibration) -- 2.17.1