Files
fforte/lib/services/notification_service.dart

46 lines
1.2 KiB
Dart

import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class NotificationService {
final notifiactionPlugin = FlutterLocalNotificationsPlugin();
bool _isInitialized = false;
bool get isInitialized => _isInitialized;
Future<void> initNotification() async {
if (_isInitialized) return;
await notifiactionPlugin.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()!.requestNotificationsPermission();
const initSettingsAndroid = AndroidInitializationSettings(
'@mipmap/ic_launcher',
);
const initSettings = InitializationSettings(android: initSettingsAndroid);
await notifiactionPlugin.initialize(initSettings);
_isInitialized = true;
}
NotificationDetails notificationDetails() {
return const NotificationDetails(
android: AndroidNotificationDetails(
"tracking0",
"tracking ongoing",
importance: Importance.low,
priority: Priority.low,
ongoing: true,
),
);
}
Future<void> showNotification({int id = 0, String? title}) async {
return notifiactionPlugin.show(id, title, "", notificationDetails());
}
Future<void> deleteNotification({id = 0}) async {
await notifiactionPlugin.cancel(id);
}
}