From ab9935a0983aafd79c02c603b417b17a8da22f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=A3=E9=95=BF=E6=9E=97?= <1727630173@qq.com> Date: Tue, 30 Sep 2025 12:59:48 +0800 Subject: [PATCH 1/2] fix(android):Fixed an issue on the Android platform where clicking a notification after the app auto-started would not trigger the onDidReceiveNotificationResponse callback. --- .../FlutterLocalNotificationsPlugin.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java b/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java index 10520339a..a7b3f32f7 100644 --- a/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java +++ b/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java @@ -1424,6 +1424,12 @@ public void onAttachedToActivity(ActivityPluginBinding binding) { Map notificationResponse = extractNotificationResponseMap(mainActivityIntent); processForegroundNotificationAction(mainActivityIntent, notificationResponse); + }else if(SELECT_NOTIFICATION.equals(mainActivityIntent.getAction())){ + Map notificationResponse = extractNotificationResponseMap(mainActivityIntent); + if (SELECT_FOREGROUND_NOTIFICATION_ACTION.equals(mainActivityIntent.getAction())) { + processForegroundNotificationAction(intent, notificationResponse); + } + channel.invokeMethod("didReceiveNotificationResponse", notificationResponse); } } } From 83b71ebf0f08c005dfdebcca0610f92eb88cc348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=A3=E9=95=BF=E6=9E=97?= <1727630173@qq.com> Date: Fri, 10 Oct 2025 11:55:16 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(android):=E4=BF=AE=E5=A4=8D=E5=89=8D?= =?UTF-8?q?=E5=8F=B0=E9=80=9A=E7=9F=A5=E6=93=8D=E4=BD=9C=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=84=8F=E5=9B=BE=E4=BC=A0=E9=80=92=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正了传递给 processForegroundNotificationAction 的 intent 参数- 确保在处理前台通知操作时使用正确的 mainActivityIntent - 避免因错误的 intent传递导致的通知响应处理异常 --- .../FlutterLocalNotificationsPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java b/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java index a7b3f32f7..b789b0de5 100644 --- a/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java +++ b/flutter_local_notifications/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java @@ -1427,7 +1427,7 @@ public void onAttachedToActivity(ActivityPluginBinding binding) { }else if(SELECT_NOTIFICATION.equals(mainActivityIntent.getAction())){ Map notificationResponse = extractNotificationResponseMap(mainActivityIntent); if (SELECT_FOREGROUND_NOTIFICATION_ACTION.equals(mainActivityIntent.getAction())) { - processForegroundNotificationAction(intent, notificationResponse); + processForegroundNotificationAction(mainActivityIntent, notificationResponse); } channel.invokeMethod("didReceiveNotificationResponse", notificationResponse); }