Chris
Chris

Reputation: 2274

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?

Upvotes: 0

Views: 2949

Answers (2)

iandis
iandis

Reputation: 66

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

Upvotes: 2

Jenarath
Jenarath

Reputation: 1

Use onSelectNotification to Future < dynamic > instead.

Future<dynamic> onSelectNotification(payload) async {
   // implement logic
   print("onSelectNotification : " + payload);
}

Upvotes: -1

Related Questions