import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:timezone/data/latest_all.dart' as tz;
import 'package:timezone/timezone.dart' as tz;
void sendNotification({String? title, String? body}) async {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
tz.initializeTimeZones();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
const IOSInitializationSettings initializationSettingsIOS =
IOSInitializationSettings(
requestBadgePermission: true,
requestAlertPermission: true,
requestSoundPermission: true,
);
const InitializationSettings initializationSettings =
InitializationSettings(iOS: initializationSettingsIOS,
android: initializationSettingsAndroid);
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
const AndroidNotificationChannel channel = AndroidNotificationChannel(
'high_channel', 'High Importance Notification',
description: "This channel is for important notification",
importance: Importance.max);
// flutterLocalNotificationsPlugin.show(
// 0,
// title,
// body,
// NotificationDetails(
// android: AndroidNotificationDetails(channel.id, channel.name,
// channelDescription: channel.description),
// ),
// );
await flutterLocalNotificationsPlugin.zonedSchedule(
0,
title,
body,
tz.TZDateTime.now(tz.local).add(const Duration(seconds: 10)), // Za scheduled notifikacije u polju secconds proslijedjuemo za koliko ce da se pojavi ta lokalna notifikacija
const NotificationDetails(
android: AndroidNotificationDetails(
'your channel id', 'channel.description',
channelDescription: 'your channel description')),
androidAllowWhileIdle: true,
uiLocalNotificationDateInterpretation:
UILocalNotificationDateInterpretation.absoluteTime);
// const AndroidNotificationDetails androidPlatformChannelSpecifics =
// AndroidNotificationDetails(
// 'repeating channel id', 'repeating channel name',
// channelDescription: 'repeating description');
// const NotificationDetails platformChannelSpecifics =
// NotificationDetails(android: androidPlatformChannelSpecifics);
// await flutterLocalNotificationsPlugin.periodicallyShow(0, 'repeating title',
// 'repeating body', RepeatInterval.everyMinute, platformChannelSpecifics,
// androidAllowWhileIdle: true);
}
// U view-u pozovemo funkciju i proslijedimo joj parametre u ovom slucaju je samo title i body
onPressed: () {
sendNotification(
title: 'Idemo bre',
body: 'Sad ili nikad');
},
Comments