Orientação gerada a partir de informações públicas. Apenas para referência.
Um plugin Flutter que permite o gerenciamento contínuo de eventos do calendário em dispositivos Android e iOS. Ele permite aos usuários adicionar, editar e remover eventos com lembretes personalizáveis. O pacote fornece uma API simples para integrar funcionalidades de calendário em aplicativos, tornando-o ideal para aplicativos de agendamento, gerenciamento de tarefas ou baseados em lembretes. Ele é compatível com ambas as plataformas e utiliza APIs nativas do calendário para desempenho confiável.
Casos de uso
Agendamento de consultas
Criando lembretes de tarefas
Criando aplicativos de planejamento de eventos
Integração com ferramentas de produtividade
Gerenciamento de eventos recorrentes
Principais recursos
Adicionar, editar e excluir eventos do calendário
Suporte para lembretes de eventos
Plataforma cruzada (Android e iOS)
API simples e intuitiva
Integração com calendário nativo
Indicado para
Aplicativos de produtividade
Agendadores de compromissos
Ferramentas de gerenciamento de tarefas
Aplicações baseadas em lembretes
fluxos de trabalho orientados por eventos
Considerações
Requer permissão do usuário para acessar calendários
Limitado a plataformas Android e iOS
Pode ser necessário lidar com casos de erro específicos da plataforma
As permissões devem ser solicitadas em tempo de execução
Os dados do evento podem variar ligeiramente entre plataformas
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
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,
);