add_2_calendar 3.0.1 copy "add_2_calendar: ^3.0.1" to clipboard
add_2_calendar: ^3.0.1 copied to clipboard

A really simple Flutter plugin to add events to each platform's default calendar.

add_2_calendar #

A really simple Flutter plugin to add events to each platform's default calendar.

Installation #

In your pubspec.yaml file within your Flutter Project:

dependencies:
  add_2_calendar: ^2.1.2
copied to clipboard

Android integration #

The plugin doesn't need any special permissions by default to add events to the calendar. However, events can also be added without launching the calendar application, for this it is needed to add calendar permissions to your AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
copied to clipboard

Starting from API 30 Android requires package visibility configuration in your AndroidManifest.xml. A

<queries>
  <intent>
    <action android:name="android.intent.action.INSERT" />
    <data android:mimeType="vnd.android.cursor.item/event" />
  </intent>
</queries>
copied to clipboard

iOS integration #

In order to make this plugin work on iOS 10+, be sure to add this to your info.plist file:

<key>NSCalendarsUsageDescription</key>
<string>INSERT_REASON_HERE</string>
copied to clipboard

NSContactsUsageDescription is required for the location autocomplete once Apple's UI is opened, so it is highly recommended that you also add the key, the app might crash otherwise.

<key>NSContactsUsageDescription</key>
<string>INSERT_REASON_HERE</string>
copied to clipboard

Use it #

import 'package:add_2_calendar/add_2_calendar.dart';

final Event event = Event(
      title: 'Event title',
      description: 'Event description',
      location: 'Event location',
      startDate: DateTime(/* Some date here */),
      endDate: DateTime(/* Some date here */),
      iosParams: IOSParams( 
        reminder: Duration(/* Ex. hours:1 */), // on iOS, you can set alarm notification after your event.
        url: 'https://www.example.com', // on iOS, you can set url to your event.
      ),
      androidParams: AndroidParams( 
        emailInvites: [], // on Android, you can add invite emails to your event.
      ),
    );
...
Add2Calendar.addEvent2Cal(event);
...
copied to clipboard

This will launch the default calendar application to confirm the event and add it to your calendar.

Recurring events #

You can add recurrency to your events by specifying a frequency. Optional parameters such as interval, ocurrances and endDate can also be added.

 Event(
   ...
  recurrence: Recurrence(
        frequency: Frequency.monthly,
        interval: 2,
        ocurrences: 6,
      ),
    );
copied to clipboard

iOS language support #

By default the ios screen that appears to save the event will be displayed in English, to support diffrent languages, add to your info.plist the languages you are supporting.

<key>CFBundleLocalizations</key>
	<array>
		<string>en</string>
		<string>es</string>
		<string>ja</string>
	</array>
copied to clipboard

Note: See DateTime docs to know what valid date could be correct in above piece of code.

Example #

Please run the app in the example/ folder to start playing!

331
likes
160
points
80.8k
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.26 - 2025.04.10

A really simple Flutter plugin to add events to each platform's default calendar.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on add_2_calendar