12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import 'package:firebase_messaging/firebase_messaging.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_local_notifications/flutter_local_notifications.dart';
-
- import '../Screens/Settings/settings_screen.dart';
-
- class LocalNotificationService{
- static final FlutterLocalNotificationsPlugin _notificationsPlugin = FlutterLocalNotificationsPlugin();
-
- static void initialize() {
- // initializationSettings for Android
- const InitializationSettings initializationSettings = InitializationSettings(
- android: AndroidInitializationSettings("@mipmap/ic_launcher"),
- );
-
- _notificationsPlugin.initialize(initializationSettings, onDidReceiveNotificationResponse: (details) {
- print("onSelectNotification");
- var context;
- Navigator.push(context as BuildContext, MaterialPageRoute(
- builder: (context) => SettingsScreen()));
-
- },
- );
- _notificationsPlugin.initialize(initializationSettings, onDidReceiveBackgroundNotificationResponse: (details) {
- print("onSelectNotification-Background");
- var context;
- Navigator.push(context as BuildContext, MaterialPageRoute(
- builder: (context) => SettingsScreen()));
- },);
- }
-
- static void createanddisplaynotification(RemoteMessage message) async {
- try {
- final id = DateTime.now().millisecondsSinceEpoch ~/ 1000;
- const NotificationDetails notificationDetails = NotificationDetails(
- android: AndroidNotificationDetails(
- "pushnotificationapp",
- "pushnotificationappchannel",
- //icon: "@mipmap/ic_launcher",
- largeIcon: DrawableResourceAndroidBitmap('assets/images/sindi_icon.png'),
- enableVibration: true,
- importance: Importance.max,
- priority: Priority.high,
- ),
- );
-
- await _notificationsPlugin.show(
- id,
- message.notification!.title,
- message.notification!.body,
- notificationDetails,
- payload: message.data['_id'],
- );
- } on Exception catch (e) {
- print(e);
- }
- }
- }
|