12345678910111213141516171819202122232425262728293031323334353637383940 |
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_local_notifications/flutter_local_notifications.dart';
- class NotificationHandler{
- static final flutterLocalNotificationPlugin =
- FlutterLocalNotificationsPlugin();
- static late BuildContext myContext;
- static void initNotification({required BuildContext context,required SelectNotificationCallback selectNotificationCallback}){ //customize
- myContext = context;
- var initAndroid = const AndroidInitializationSettings("@drawable/ic_notify");
- const IOSInitializationSettings initializationSettingsIOS =
- IOSInitializationSettings(
- requestSoundPermission: false,
- requestBadgePermission: false,
- requestAlertPermission: false,
- onDidReceiveLocalNotification: onDidReceiveLocalNotification,
- );
- var initSetting = InitializationSettings(android: initAndroid,iOS: initializationSettingsIOS);
- flutterLocalNotificationPlugin.initialize(initSetting,onSelectNotification: selectNotificationCallback);
- }
- static Future onDidReceiveLocalNotification(int? id,String? title,String? body,String? payload) async{
- showDialog(context: myContext, builder: (context)=> CupertinoAlertDialog(title: Text(title!),
- content: Text(body!),
- actions: [
- CupertinoDialogAction(
- isDefaultAction: true,
- child: const Text('OK'),
- onPressed: ()=> Navigator.of(context,rootNavigator: true,).pop(),
- )
- ],));
- }
- }
|