Pārlūkot izejas kodu

[new]调整通知

zk 1 gadu atpakaļ
vecāks
revīzija
cf7a00fcce
1 mainītis faili ar 18 papildinājumiem un 5 dzēšanām
  1. 18 5
      lib/utils/notification_util.dart

+ 18 - 5
lib/utils/notification_util.dart

@@ -1,5 +1,4 @@
 import 'package:custom_notification/custom_notification.dart';
-import 'package:electronic_assistant/data/bean/talks.dart';
 import 'package:electronic_assistant/module/talk/view.dart';
 import 'package:flutter_local_notifications/flutter_local_notifications.dart';
 
@@ -35,9 +34,17 @@ class NotificationUtil {
     const AndroidInitializationSettings initializationSettingsAndroid =
         AndroidInitializationSettings('@mipmap/ic_launcher');
 
-    const InitializationSettings initializationSettings =
-        InitializationSettings(
+    DarwinInitializationSettings initializationSettingsIOS =
+        DarwinInitializationSettings(onDidReceiveLocalNotification:
+            (int id, String? title, String? body, String? payload) async {
+      if (payload != null) {
+        TalkPage.startById(payload);
+      }
+    });
+
+    InitializationSettings initializationSettings = InitializationSettings(
       android: initializationSettingsAndroid,
+      iOS: initializationSettingsIOS,
     );
 
     await flutterLocalNotificationsPlugin.initialize(
@@ -58,8 +65,14 @@ class NotificationUtil {
       priority: Priority.high,
     );
 
-    const NotificationDetails platformChannelSpecifics =
-        NotificationDetails(android: androidPlatformChannelSpecifics);
+    const DarwinNotificationDetails iOSPlatformChannelSpecifics =
+        DarwinNotificationDetails(
+            //TODO
+
+            );
+    const NotificationDetails platformChannelSpecifics = NotificationDetails(
+        android: androidPlatformChannelSpecifics,
+        iOS: iOSPlatformChannelSpecifics);
 
     await flutterLocalNotificationsPlugin.show(
       getAnalyseNotificationId(),