Local notifications help your app tell users important things even when they are not using the app. They grab attention and remind users about events or updates.
0
0
Notifications (local) in Flutter
Introduction
Remind a user about a scheduled event like a meeting or a task.
Notify users about a new message or alert while the app is in the background.
Give daily tips or motivational quotes at a set time.
Warn users about low battery or app-specific warnings.
Confirm a completed action like a download or upload.
Syntax
Flutter
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); // Initialize in main or initState var initializationSettingsAndroid = AndroidInitializationSettings('app_icon'); var initializationSettings = InitializationSettings(android: initializationSettingsAndroid); await flutterLocalNotificationsPlugin.initialize(initializationSettings); // Show notification await flutterLocalNotificationsPlugin.show( 0, // notification id 'Title', 'Body text', NotificationDetails(android: AndroidNotificationDetails('channelId', 'channelName', importance: Importance.max, priority: Priority.high)) );
You must initialize the notification plugin before showing notifications.
Android requires a notification channel with an ID and name.
Examples
Shows a basic notification with a title and body.
Flutter
await flutterLocalNotificationsPlugin.show( 1, 'Hello', 'This is a simple notification', NotificationDetails(android: AndroidNotificationDetails('channel1', 'General', importance: Importance.defaultImportance, priority: Priority.defaultPriority)) );
Shows a high priority notification for reminders.
Flutter
var androidDetails = AndroidNotificationDetails( 'reminder_channel', 'Reminders', importance: Importance.high, priority: Priority.high ); await flutterLocalNotificationsPlugin.show( 2, 'Reminder', 'Don\'t forget your meeting at 3 PM', NotificationDetails(android: androidDetails) );
Sample App
This app shows a button. When pressed, it sends a local notification with a title and message.
Flutter
import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State<MyApp> createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); @override void initState() { super.initState(); var initializationSettingsAndroid = const AndroidInitializationSettings('app_icon'); var initializationSettings = InitializationSettings(android: initializationSettingsAndroid); flutterLocalNotificationsPlugin.initialize(initializationSettings); } Future<void> _showNotification() async { var androidDetails = const AndroidNotificationDetails( 'channelId', 'channelName', importance: Importance.max, priority: Priority.high, ); var generalNotificationDetails = NotificationDetails(android: androidDetails); await flutterLocalNotificationsPlugin.show( 0, 'Hello!', 'This is a local notification.', generalNotificationDetails, ); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: const Text('Local Notifications Example')), body: Center( child: ElevatedButton( onPressed: _showNotification, child: const Text('Show Notification'), ), ), ), ); } }
OutputSuccess
Important Notes
On Android, you need to add an app icon named 'app_icon' in your drawable folder for notifications.
Local notifications do not require internet access.
Test notifications on a real device for best results, as emulators may not show them properly.
Summary
Local notifications alert users even when the app is not open.
Initialize the notification plugin before sending notifications.
Customize notifications with channels, importance, and priority for better user experience.