Daily recurring notifications in flutter

1,174

Solution 1

After writing that comment I did a bit of research and this is working for me so far:

Future<void> showAlertNotification() async {
    var time = Time(8, 0, 0);
    var androidChannel = AndroidNotificationDetails(
        'channelID', 'channelName', 'channelDescription',
        importance: Importance.defaultImportance,
        priority: Priority.defaultPriority,
        playSound: true);

    var iosChannel = IOSNotificationDetails();
    var platformChannel =
        NotificationDetails(android: androidChannel, iOS: iosChannel);
   await flutterLocalNotificationsPlugin.showDailyAtTime(2, 'notification title',
            'message here', time, platformChannel,
            payload: 'new payload'));
  }

Solution 2

You should not use showDailyAtTime as of now it has quite a number of problems like syncing up with local time zones. So instead you should use the zoned schedule but you should first initialize it with your local time zone it can be done with another package called flutter_native_timezone. This is the workflow I used:

import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;
Future<void> showNotif() async {
tz.initializeTimeZones();
String dtz = await FlutterNativeTimezone.getLocalTimezone();
if (dtz == "Asia/Calcutta") {
  dtz = "Asia/Kolkata";
}
final localTimeZone = tz.getLocation(dtz);
tz.setLocalLocation(localTimeZone);
await _flutterLocalNotificationsPlugin.zonedSchedule(..., matchDateTimeComponents: DateTimeComponents.time);
}

// The ... above is the usual parameters that I didn't write.

Share:
1,174
Shlok Jain
Author by

Shlok Jain

Updated on December 23, 2022

Comments

  • Shlok Jain
    Shlok Jain over 1 year

    I am trying to use the plugin, flutter_local_notifications to send recurring notifications to the user, every day but the resource available for the plugin consists of only code and is incomprehensible, I have done the setup for the plugin as follows:

    I did this much by referring to numerous resources like medium and a few other sites, so can someone please write a method which sends the user (android & iOS) a recurring notification everyday? Thank you!

    • Kyle
      Kyle over 3 years
      did you find any solution for this?
    • Shlok Jain
      Shlok Jain over 3 years
      I am sorry I did not, I found a resource for scheduled notifications but not recurring ones.