Search code examples
flutterdarttypespush-notificationflutter-local-notification

Flutter Local Notification onSelectNotification function argument type can't be assinged


I am using Local Notifications for my app and I am trying to set up the onSelectNotification but I can not make it work. This is how I init:

 Future initialize() async {
    FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
        FlutterLocalNotificationsPlugin();

    AndroidInitializationSettings androidInitializationSettings =
        AndroidInitializationSettings('app_icon');

    IOSInitializationSettings iosInitializationSettings =
        IOSInitializationSettings();

    final InitializationSettings initializationSettings =
        InitializationSettings(
            android: androidInitializationSettings,
            iOS: iosInitializationSettings);

    await flutterLocalNotificationsPlugin.initialize(
      initializationSettings, onSelectNotification: onSelectNotification
    );
  }

And my onSelectNotification:

  Future onSelectNotification(String payload) async {
    print(payload);
  }

But Flutter is complaining:

The argument type 'Future Function(String)' can't be assigned to the parameter type 'Future Function(String?)?'.

I couldn't find anything in the documentation about this and nowhere else.. What am I missing her?


Solution

  • It should be

    Future<void> onSelectNotification(String? payload) async {...}
    

    instead of

    Future<void> onSelectNotification(String payload) async {...}
    

    It's missing the ? on your String payload