| Platform | Since |
|---|---|
| Android | 1.5 |
The Android.Calendar module provides proxies and methods for accessing the native Android calendar functionality.
The API supports retrieving information about existing events and creating new events. However, modifying or deleting existing events is not yet supported. Additionally, recurring events are not yet supported.
Prints the names of all of your calendars known to Android, then prints the names of calendars that you have selected in the native Android calendar application. The latter could be a subset, because (for example) Android -- via your Google account -- may know about more calendars that you have access to but that you have not selected inside the calendar app.
function showCalendars(calendars) { for (var i = 0; i < calendars.length; i++) { Ti.API.info(calendars[i].name); } } Ti.API.info('ALL CALENDARS:'); showCalendars(Ti.Android.Calendar.allCalendars); Ti.API.info('SELECTABLE CALENDARS:'); showCalendars(Ti.Android.Calendar.selectableCalendars);
This example will look at each event in a year for a given calendar. Just set the desired calendar's id and the desired year to see it in action. You can see calendar ids by running the example above.
var win = Ti.UI.currentWindow; var sv = Ti.UI.createScrollView(); win.add(sv); var console = Ti.UI.createLabel({ backgroundColor: 'white', color: 'black', text: 'generating info...' }); sv.add(console); var consoleString = ''; function print(s) { Ti.API.info(s); if (consoleString.length > 0) { consoleString = consoleString + '\n'; } consoleString = consoleString + s; } // SHOW ALL EVENTS FOR 2010 FOR ONE CALENDAR var YEAR = 2010; var TEST_WITH_THIS_CAL_ID = 3; var calendar = Ti.Android.Calendar.getCalendarById(TEST_WITH_THIS_CAL_ID); function printReminder(r) { var typetext = '[method unknown]'; if (r.method == Ti.Android.Calendar.METHOD_EMAIL) { typetext = 'Email'; } else if (r.method == Ti.Android.Calendar.METHOD_SMS) { typetext = 'SMS'; } else if (r.method == Ti.Android.Calendar.METHOD_ALERT) { typetext = 'Alert'; } else if (r.method == Ti.Android.Calendar.METHOD_DEFAULT) { typetext = '[default reminder method]'; } print(typetext + ' reminder to be sent ' + r.minutes + ' minutes before the event'); } function printAlert(a) { print('Alert id ' + a.id + ' begin ' + a.begin + '; end ' + a.end + '; alarmTime ' + a.alarmTime + '; minutes ' + a.minutes); } function printEvent(event) { if (event.allDay) { print('Event: ' + event.title + '; ' + event.begin.toLocaleDateString() + ' (all day)'); } else { print('Event: ' + event.title + '; ' + event.begin.toLocaleDateString() + ' ' + event.begin.toLocaleTimeString()+ '-' + event.end.toLocaleTimeString()); } var reminders = event.reminders; if (reminders && reminders.length) { print('There is/are ' + reminders.length + ' reminder(s)'); for (var i = 0; i < reminders.length; i++) { printReminder(reminders[i]); } } print('hasAlarm? ' + event.hasAlarm); var alerts = event.alerts; if (alerts && alerts.length) { for (i = 0; i < alerts.length; i++) { printAlert(alerts[i]); } } var status = event.status; if (status == Ti.Android.Calendar.STATUS_TENTATIVE) { print('This event is tentative'); } if (status == Ti.Android.Calendar.STATUS_CONFIRMED) { print('This event is confirmed'); } if (status == Ti.Android.Calendar.STATUS_CANCELED) { print('This event was canceled'); } } var events = calendar.getEventsInYear(YEAR); if (events && events.length) { print(events.length + ' event(s) in ' + YEAR); print(''); for (var i = 0; i < events.length; i++) { printEvent(events[i]); print(''); } } else { print('No events on 2010-12-6'); } console.text = consoleString;
This example creates an event and adds an e-mail reminder for 10 minutes before the event.
var CALENDAR_TO_USE = 3; var calendar = Ti.Android.Calendar.getCalendarById(CALENDAR_TO_USE); // Create the event var eventBegins = new Date(2010, 11, 26, 12, 0, 0); var eventEnds = new Date(2010, 11, 26, 14, 0, 0); var details = { title: 'Do some stuff', description: "I'm going to do some stuff at this time.", begin: eventBegins, end: eventEnds }; var event = calendar.createEvent(details); // Now add a reminder via e-mail for 10 minutes before the event. var reminderDetails = { minutes: 10, method: Ti.Android.Calendar.METHOD_EMAIL }; event.createReminder(reminderDetails);
| Name | Summary |
|---|---|
| Titanium.Android.Calendar.Alert |
An object which represents a single alert for an event in an Android calendar. |
| Titanium.Android.Calendar.Calendar |
An object which represents a single calendar in Android. |
| Titanium.Android.Calendar.Event |
An object which represents a single event in an Android calendar. |
| Titanium.Android.Calendar.Reminder |
An object which represents a single reminder for an event in an Android calendar. |
| Name | Summary |
|---|---|
| addEventListener |
Adds the specified callback as an event listener for the named event. |
| fireEvent |
Fires a synthesized event to any registered listeners. |
| getAllAlerts |
Gets the value of the allAlerts property. |
| getAllCalendars |
Gets the value of the allCalendars property. |
| getCalendarById |
Returns the |
| getSelectableCalendars |
Gets the value of the selectableCalendars property. |
| removeEventListener |
Removes the specified callback as an event listener for the named event. |
| Name | Type | Summary |
|---|---|---|
| METHOD_ALERT | Number |
constant for the |
| METHOD_DEFAULT | Number |
constant for the |
| METHOD_EMAIL | Number |
constant for the |
| METHOD_SMS | Number |
constant for the |
| STATE_DISMISSED | Number |
constant for the |
| STATE_FIRED | Number |
constant for the |
| STATE_SCHEDULED | Number |
constant for the |
| STATUS_CANCELED | Number |
constant for the |
| STATUS_CONFIRMED | Number |
constant for the |
| STATUS_TENTATIVE | Number |
constant for the |
| VISIBILITY_CONFIDENTIAL | Number |
constant for the |
| VISIBILITY_DEFAULT | Number |
constant for the |
| VISIBILITY_PRIVATE | Number |
constant for the |
| VISIBILITY_PUBLIC | Number |
constant for the |
| allAlerts | Array<Titanium.Android.Calendar.Alert> |
Array of |
| allCalendars | Array<Titanium.Android.Calendar.Calendar> |
Array of |
| selectableCalendars | Array<Titanium.Android.Calendar.Calendar> |
Array of |