How to implement Flutter local notifications?
1. Install the package:
Add the flutter_local_notifications package to your pubspec.yaml file:
dependencies:
flutter_local_notifications: ^{last_version}
2. Request permissions:
领英推荐
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
void requestIOSPermissions() async {
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
const InitializationSettings initializationSettingsIOS =
const InitializationSettings(
requestAlertPermission: true,
requestBadgePermission: true,
requestSoundPermission: true,
);
await flutterLocalNotificationsPlugin.initialize(initializationSettingsIOS);
}
3. Writing the Core Code:
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class LocalNotificationService {
static FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
static Future<void> initialize() async {
var androidInitialize =
const AndroidInitializationSettings("@mipmap/ic_launcher");
/// iOS: Request notification permissions
DarwinInitializationSettings initializationSettingsIOS =
const DarwinInitializationSettings(
requestAlertPermission: true,
requestBadgePermission: true,
requestSoundPermission: true,
);
InitializationSettings initializationSettings = InitializationSettings(
android: androidInitialize,
iOS: initializationSettingsIOS,
);
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
}
static Future showTextNotification({
int id = 0,
required String title,
required String body,
bool playSound = true,
bool enableVibration = true,
var payload,
}) async {
AndroidNotificationDetails androidNotificationDetails =
const AndroidNotificationDetails(
"default_value",
"channel_id_5",
playSound: true,
importance: Importance.max,
priority: Priority.max,
showWhen: true,
showProgress: true,
enableVibration: true,
);
DarwinNotificationDetails darwinInitializationDetails =
const DarwinNotificationDetails(presentSound: true, presentAlert: true);
var not = NotificationDetails(
android: androidNotificationDetails,
iOS: darwinInitializationDetails,
);
await flutterLocalNotificationsPlugin.show(id, title, body, not);
}
}
4. Conclusion
I hope this helps!
Lead Flutter Developer & Consultant | Node.js | Spring boot
1 年Have you ever tried to implement a local notification reminder that shows everyday at the same time ?