Not launching the app on notification click? Flutter Local Notifications

Viewed 1330

I am working on a project, I have used Flutter Local Notifications to show periodic notifications, I'm trying to figure out if there is a way to not to launch the app on notification click, for example, when a user clicks on a notification, it should just disappear from the notification panel.

This is the code I tried so far,

Initialising,

var initializationSettingsAndroid =
        AndroidInitializationSettings('@mipmap/ic_launcher');
    var initializationSettingsIOS = IOSInitializationSettings();
    var initializationSettings = InitializationSettings(
        initializationSettingsAndroid, initializationSettingsIOS);
    _notificationPlugin = FlutterLocalNotificationsPlugin();
    _notificationPlugin.initialize(initializationSettings,
        onSelectNotification: onSelectNotification);

Calling,

Future getPeriodicNoification() async {
    print("hello");
// Show a notification every minute with the first appearance happening a minute after invoking the method
    var androidPlatformChannelSpecifics = AndroidNotificationDetails(
      'your channel id',
      'your channel name',
      'your channel description',
      importance: Importance.Max,
      priority: Priority.High,
    );
    var iOSPlatformChannelSpecifics = IOSNotificationDetails();
    var platformChannelSpecifics = NotificationDetails(
        androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
    await _notificationPlugin.periodicallyShow(0, 'repeating title',
        'repeating body', RepeatInterval.EveryMinute, platformChannelSpecifics);
  }

Callback function(On notification click)

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

Please help.

1 Answers

You can use the close function under BehaviourSubject that you use when adding the payload.

static final onNotifications = BehaviorSubject<String?>();

then call this when selecting the notification.

onSelectNotification() => onNotifications.close();
  
Related