[Android Apps and Games] 920904:
CalendarSync is an Android app (also works on Blackberry) which you can use to sync your calendars and appointments using CalDAV, WebDAV, HTTP, FTP or plain .ics calendar files.

Do you want to check out the app? Then just load and install the free test version where you can check out all the feature for free at the Google Play Store, Blackberry World, Amazon App Store or directly from my website (link below).

A Windows mobile version is now available: http://xdaforums.com/showthread.php?t=544181

Features:

Using a self-created iCalendar analyser which support complex and more features than other iCalendar parsing/importing applications.

Import appointments, alarms and attendees direct from iCal files (*.ics). and applications.

Import appointments, alarms and attendees direct from Microsoft Calendar files (*.vcs) and applications.

Export appointments, alarms and attendees which are stored on the device to iCal files (*.ics).

Make a quick look at the appointments stored in the iCal files.

Update old and add new appointments from an iCal file.

iCalendar files are associated to this app.

Timezone support.

Create and remove device calenders.

Fingerfriendly landscape/portrait mode aware GUI.

Load and analyse ICal files direct from the Internet from different sources.

The app supports self signed certificates.

Supports the sync from and to server which provide calendar information with HTTP/HTTPS (WebDAV if you want to use two way Sync).

Supports the sync from and to server which provide calendar informations with CalDAV.

Supports the sync from and to server which provide calendar informations with FTP/FTPS.

Supports the download/handling of webcal/webcals feeds.

Periodically background sync of calendar informations.

Automatically background sync can be handled periodically by the app itself or it can be triggered by external applications like Tasker.

Checking for updates

Logging

Advanced filtering which informations should be imported.

Supporting devices with more than one cpu to speed up parsing/importing/downloading of informations.

Multi-language: Currently english and german.

If you are interested in translating the app in other languages please contact me.

Requirements:

Android 2.2 or newer.

Permissions

android.permission.READ_CALENDAR and android.permission.WRITE_CALENDAR

The app is designed to interact with the calendar so it needs the rigth to read/write the calender e.g. to store new appointments.

android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE

The app can sync which various internet and network sources. So it needs the rigth to access the network.

android.permission.READ_PHONE_STATE

For licensing the app needs access to device id.

android.permission.WRITE_EXTERNAL_STORAGE

The app can import/export calendar informations based on files stored on the device so it needs the rigth to access the devices storage.

android.permission.RECEIVE_BOOT_COMPLETED and android.permission.WAKE_LOCK

This permissions are used for the autosync service. If the device reboots the autosync service will start automatically. To prevent interuption of the autosync process the app must be able to prvent the sleep mode temporarily.

com.android.vending.CHECK_LICENSE

This permission is used for license validation if you bougth the app at the google market.

android.permission.ACCESS_WIFI_STATE

This permission is used for the autosync service to prevent the app from syncing if no WIFI/WLAN connection is available.

android.permission.MANAGE_ACCOUNTS and android.permission.GET_ACCOUNTS and android.permission.AUTHENTICATE_ACCOUNTS and android.permission.*WRITE_SYNC_SETTINGS

The app can create custom calendars. To prevent automatic cleanup services from android from deleting this custom calenders these calendars musst be assigned with an existing sync account. The permissions above will be used to create such a dummy sync account.

If you like my app please donate so that i can develop further improvements. :)

Download (NO MIRRORING): CalendarSync click here