Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.2.0

manage_calendar_events

Ein Flutter-Plugin, das Ihnen helfen wird, Ereignisse (mit Erinnerungen) in Ihren Kalendern (Android und iOS) hinzuzufügen, zu bearbeiten und zu entfernen

AndroidiOS
30-Tage-Downloads
209
Likes
46
Pub-Punkte
150

Paket installieren

flutter pub add manage_calendar_events

Paketübersicht

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

pub package pub points pub likes License: MIT

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:

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
3. iOS setup

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 calendar
final events = await _calendarPlugin.getEvents(calendarId: calendar.id!);

// Events in an explicit date range
final events = await _calendarPlugin.getEventsByDateRange(
  calendarId: calendar.id!,
  startDate: DateTime.now(),
  endDate: DateTime.now().add(const Duration(days: 30)),
);

// Shortcuts for the current week / month
final 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(const Duration(hours: 1)),
  reminder: Reminder(minutes: 15), // remind 15 minutes before the event
);

final eventId = await _calendarPlugin.createEvent(
  calendarId: calendar.id!,
  event: event,
);
Update or delete an event
event
  ..eventId = eventId
  ..title = 'Team standup (moved)';
await _calendarPlugin.updateEvent(calendarId: calendar.id!, event: event);

await _calendarPlugin.deleteEvent(calendarId: calendar.id!, eventId: eventId!);
Reminders
await _calendarPlugin.addReminder(
  calendarId: calendar.id!,
  eventId: eventId!,
  minutes: 30,
);
await _calendarPlugin.updateReminder(
  calendarId: calendar.id!,
  eventId: eventId!,
  minutes: 10,
);
await _calendarPlugin.deleteReminder(eventId: eventId!);
Attendees
await _calendarPlugin.addAttendees(
  eventId: eventId!,
  newAttendees: [
    Attendee(name: 'Jane Doe', emailAddress: 'jane@example.com'),
  ],
);

final attendees = await _calendarPlugin.getAttendees(eventId: eventId!);

A full working app that exercises the whole API is in example/.

Contributing

Issues and pull requests are welcome on GitHub.

Author

Maintained by Lakshmanaprabhu R.

License

MIT — see LICENSE.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.