1

I'm developing an app which needs to answer the notifications. I can display the button when I received the notification. However, I couldn't bind any method to it. Here is my code:

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message)  async {
  await Firebase.initializeApp();
    AwesomeNotifications().createNotification(
          content: NotificationContent(
              id: 10,
              channelKey: 'basic_channel',
              title: 'Simple Notification',
              body: 'Simple body'),
          actionButtons: [
            NotificationActionButton(
                label: 'TEST',
                enabled: true,
                buttonType: ActionButtonType.Default,
                key: 'test',
                )
          ]);
    print("Background message service");
  }

Thank you for your helps!

arincgurkan
  • 25
  • 1
  • 6

2 Answers2

2

You should create a event stream and listen to events like that:

    AwesomeNotifications().actionStream.listen((event) {
      print('event received!');
      print(event.toMap().toString());
      // do something based on event...
    });
-1

Update for anyone from the new versions. You can handle clicks on notifications with various other actions, by following the documentation. here's what I did. documentation

class NotificationController {
  /// Use this method to detect when the user taps on a notification or action button
  @pragma("vm:entry-point")
  static Future<void> onActionReceivedMethod(ReceivedAction receivedAction) async {
    // Your code goes here

    /// Handles regular notification taps.
    if(receivedAction.actionType == ActionType.Default){
      if(receivedAction.id == 17897583){
        // do something...
      }
    }
  }
}
AlexFlutter
  • 63
  • 1
  • 6