Ein Flutter-Plugin, das Ihnen helfen wird, Ereignisse (mit Erinnerungen) in Ihren Kalendern (Android und iOS) hinzuzufügen, zu bearbeiten und zu entfernen
Aus öffentlichen Paketdaten erstellte Orientierung.
Ein Flutter-Plugin, das eine nahtlose Verwaltung von Kalenderereignissen auf Android- und iOS-Geräten ermöglicht. Es erlaubt Benutzern das Hinzufügen, Bearbeiten und Entfernen von Ereignissen mit anpassbaren Erinnerungen. Das Paket bietet eine einfache API zur Integration von Kalenderfunktionen in Apps und ist daher ideal für Terminplanung, Aufgabenverwaltung oder erinnerungsbasierende Anwendungen. Es unterstützt beide Plattformen und nutzt native Kalender-APIs für zuverlässige Leistung.
Anwendungsfälle
Terminplanung
Aufgaben-Erinnerungen erstellen
Ereignisplanungs-Apps erstellen
Integration mit Produktivitätswerkzeugen
Verwaltung wiederkehrender Ereignisse
Hauptmerkmale
Kalenderereignisse hinzufügen, bearbeiten und löschen
Unterstützung für Ereignis-Erinnerungen
Plattformübergreifend (Android & iOS)
Einfaches und intuitives API
Native Kalenderintegration
Geeignet für
Produktivitäts-Apps
Terminplaner
Aufgabenverwaltungstools
Erinnerungs-basierte Anwendungen
ereignisgesteuerte Workflows
Hinweise
Benutzerberechtigung zum Zugriff auf Kalender erforderlich
Beschränkt auf die Plattformen Android und iOS
Kann die Behandlung plattformspezifischer Fehlerfälle erfordern
Berechtigungen müssen zur Laufzeit angefordert werden
Event-Daten können sich zwischen Plattformen geringfügig unterscheiden
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
manage_calendar_events
A Flutter plugin for reading, creating, updating, and deleting device calendar events — with reminders and attendees — on Android and iOS.
Platform support
Android
iOS
✓
✓
Features
List all calendars available on the device, including whether each one is read-only or local
Create and delete local (non-synced) calendars
Read events from a calendar — all events, a date range, or a whole week/month
Create and update events: title, description, location, URL, all-day flag, and a reminder
Delete events
Add, update, and delete reminders on an existing event
Add, list, and remove attendees on an event
Getting started
1. Add the dependency
dependencies:manage_calendar_events:^2.1.2
2. Android setup
Add the calendar permissions to android/app/src/main/AndroidManifest.xml:
Add the calendar usage description(s) to ios/Runner/Info.plist:
<key>NSCalendarsUsageDescription</key><string>This app needs calendar access to manage your events.</string><key>NSCalendarsFullAccessUsageDescription</key><string>This app needs calendar access to manage your events.</string>
NSCalendarsFullAccessUsageDescription is required on iOS 17+; NSCalendarsUsageDescription covers earlier versions.
Usage
import'package:manage_calendar_events/manage_calendar_events.dart';
final _calendarPlugin = CalendarPlugin();
Request permissions
final granted = await _calendarPlugin.hasPermissions() ?? false;
if (!granted) {
await _calendarPlugin.requestPermissions();
}
List calendars
final calendars = await _calendarPlugin.getCalendars();
final calendar = calendars!.first;
Create or delete a local calendar
final calendarId = await _calendarPlugin.createCalendar(
calendarName: 'My App Calendar',
color: Colors.blue,
);
// Only ever succeeds for a calendar created this way - it can't delete a// user's real synced Google/iCloud calendar.await _calendarPlugin.deleteCalendar(calendarId: calendarId!);
Read events
// Every event on a calendarfinal events = await _calendarPlugin.getEvents(calendarId: calendar.id!);
// Events in an explicit date rangefinal events = await _calendarPlugin.getEventsByDateRange(
calendarId: calendar.id!,
startDate: DateTime.now(),
endDate: DateTime.now().add(constDuration(days: 30)),
);
// Shortcuts for the current week / monthfinal weekEvents = await _calendarPlugin.getEventsByWeek(
calendarId: calendar.id!,
findDate: DateTime.now(),
);
final monthEvents = await _calendarPlugin.getEventsByMonth(
calendarId: calendar.id!,
findDate: DateTime.now(),
);
Create an event
final event = CalendarEvent(
title: 'Team standup',
description: 'Daily sync',
startDate: DateTime.now(),
endDate: DateTime.now().add(constDuration(hours: 1)),
reminder: Reminder(minutes: 15), // remind 15 minutes before the event
);
final eventId = await _calendarPlugin.createEvent(
calendarId: calendar.id!,
event: event,
);