43 lines
1.2 KiB
Dart
43 lines
1.2 KiB
Dart
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|
|
|
class LocalNotificationService {
|
|
static final FlutterLocalNotificationsPlugin _notificationsPlugin =
|
|
FlutterLocalNotificationsPlugin();
|
|
|
|
static Future<void> initialize() async {
|
|
const AndroidInitializationSettings androidInitSettings =
|
|
AndroidInitializationSettings('@mipmap/ic_launcher');
|
|
|
|
const InitializationSettings initSettings = InitializationSettings(
|
|
android: androidInitSettings,
|
|
iOS: DarwinInitializationSettings(),
|
|
);
|
|
|
|
await _notificationsPlugin.initialize(initSettings);
|
|
}
|
|
|
|
static Future<void> showNotification({
|
|
required String title,
|
|
required String body,
|
|
}) async {
|
|
const AndroidNotificationDetails androidDetails =
|
|
AndroidNotificationDetails(
|
|
'default_channel_id',
|
|
'Default Channel',
|
|
importance: Importance.max,
|
|
priority: Priority.high,
|
|
icon: '@mipmap/ic_launcher',
|
|
);
|
|
|
|
const NotificationDetails notificationDetails =
|
|
NotificationDetails(android: androidDetails);
|
|
|
|
await _notificationsPlugin.show(
|
|
0,
|
|
title,
|
|
body,
|
|
notificationDetails,
|
|
);
|
|
}
|
|
}
|