Search code examples
flutterdartlocalnotification

Flutter local notification body not showing all notification text (flutter_local_notifications package)


I used flutter_local_notifications: ^0.7.1+3 in my Flutter app to push schedule notifications. All is well in this but the problem in my notification body is that it shows just one line of text, and I can't expand or stretch notification to show all the notification body text.

This is my try:

class NotificationUtil {
  final notifications = FlutterLocalNotificationsPlugin();
  final int checkOutNotifyId = 0;

  NotificationUtil(BuildContext context) {
    final settingsAndroid = AndroidInitializationSettings('ic_notify_icon');
    final settingsIOS = IOSInitializationSettings(
        onDidReceiveLocalNotification: (id, title, body, payload) =>
            onSelectNotification(context));
    notifications.initialize(
        InitializationSettings(settingsAndroid, settingsIOS),
        onSelectNotification: (context) async => onSelectNotification);
  }

  Future<void> showCheckOutNotify([int maximumCheckoutHours]) async {
    await notifications.periodicallyShow(
        checkOutNotifyId,
        AttendanceConstants.SCHEDULE_NOTIFICATION_TITLE,
        AttendanceConstants.SCHEDULE_NOTIFICATION_BODY +
            '$maximumCheckoutHours Hour/s of your attendance',
        RepeatInterval.Hourly,
        _ongoing);
  }

  NotificationDetails get _ongoing {
    final androidChannelSpecifics = AndroidNotificationDetails(
      'your channel id',
      'your channel name',
      'your channel description',
      importance: Importance.Max,
      priority: Priority.High,
      ongoing: true,
    );
    final iOSChannelSpecifics = IOSNotificationDetails();
    return NotificationDetails(androidChannelSpecifics, iOSChannelSpecifics);
  }

Solution

  • add [ BigTextStyleInformation('') ] in [ AndroidNotificationDetails() ]

    NotificationDetails get _ongoing {
        final androidChannelSpecifics = AndroidNotificationDetails(
          'your channel id',
          'your channel name',
          'your channel description',
          importance: Importance.Max,
          priority: Priority.High,
          ongoing: true,
    
          styleInformation: BigTextStyleInformation(''),
        );