With the release of Android 4.4 called KitKat Google made some interesting changes to their ActiveSync implementation: the code is now set up to sync more than one calender, and the first KitKat user already confirmed that new feature.
In February I described in a blogpost why Android cannot sync multiple calendars via ActiveSync. The problem was that Google did not implement the necessary parts of the ActiveSync specification in Android.
However, that seems to have changed: if you look at the current ActiveSync implementation of Android 4.4 KitKat, the source code (tag 4.4rc1) does list support for multiple calendars – and also for multiple address books:
MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_CALENDAR, Mailbox.TYPE_CALENDAR); MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_CONTACTS, Mailbox.TYPE_CONTACTS);
I had no chance yet to test that on my own, but there are reports that it is indeed working:
Today i flashed a Android 4.4 Rom on my smartphone. After adding the Exchange Profile all my Calendars are there […]
I’ve uploaded a screenshot here:
http://postimg.org/image/5d4u364ub/
Looks like Google actually listened to…erm, corporate users? At least to someone, though 😉
But: Since I have no first-hand-experience in this regard I would like to ask all of my nine readers out there if anyone has a stock KitKat running and if the could check this feature. Please test this and leave a report about your experiences in the comments. I will include it in the article.
By the way, the above mentioned source code snippet also tells quite exactly which other ActiveSync functions are not yet supported in Android:
//MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_TASKS, Mailbox.TYPE_TASKS); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_NOTES, Mailbox.TYPE_NONE); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_JOURNAL, Mailbox.TYPE_NONE); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_TASKS, Mailbox.TYPE_TASKS); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_JOURNAL, Mailbox.TYPE_NONE); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_NOTES, Mailbox.TYPE_NONE); //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_UNKNOWN, Mailbox.TYPE_NONE); //MAILBOX_TYPE_MAP.put(MAILBOX_TYPE_RECIPIENT_INFORMATION_CACHE, Mailbox.TYPE_NONE);
I guess syncing tasks could come in handy in corporate environments. Combined with support for multiple task folders you could even design your own Kanban “board” that way.
Nevertheless I’d like to add that ActiveSync is no big deal for me anymore because I am very happy with a – albeit 3rd party and not yet Open Source – CalDav implementation, which can even sync multiple task folders.
Recently it looks like free CalDAV and CardDAV on Android has caught up.
https://f-droid.org/repository/browse/?fdfilter=CalDAV&fdid=at.bitfire.davdroid
and
https://f-droid.org/repository/browse/?fdfilter=CalDAV&fdid=org.gege.caldavsyncadapter
The first one does CardDAV too. Looks quite decent. I am still using a non-free app. I will try that first one when I get my new phone.
Nice ones! I use the dmfs.org app which is pretty neat. The only oproblem is that not all parts open source yet. But it works pretty well!
When can we, if at all, expect Activesync support in Kontact/Kmail? It would make using KDE in work places easier by several factors of 10.
Well, the only way of using ActiveSync in KDE I know of is using syncEvolution. However, that is far from a user friendly, integrated support. See https://syncevolution.org/wiki/kde-akonadi for more details.
Yep it definitely works, but it still cannot sync calendars shared with you. Any info on that subject?
No idea, sorry… never tested that, though. If I hear anything on that subject I will post it =)
Yes – it is syncing two calendars now. I was using third party app to do that and suddenly had multiple entries as KitKat also starting syncing the second calendar.
I will say, though, that you can’t seem to access multiple Exchange calendars separately – which means you have to accept syncing of all calendars and, more importantly for me, I’ve found no way (even third party apps) to color code the calendars separately. This is a real problem for me, as I like to see the different calendars in different colors.
I don’t use activesync for syncing calendars anymore, so I cannot check if the problem exists for me as well. I use CalDav, though, which does a wonderful job – and allows you to sync only certain calendars, and to adjust the colours of them 😉
What if I DON’T want to sync all of my Outlook calendars? It looks like with the latest version it’s an all or nothing. I want to be able to select which calendars to sync with. Otherwise it’s just a mess!
You can simply pick the calendars you would like to see in the calendars configuration…
no you cant! it will not allow you to have some of your outlook calendars on and some off. Its all or nothing it seems
What I meant is: the calendar app gives you the configuration option to check calendars which should be synced and displayed.
liquidat is not correct
Yes, I am correct =)
(Please, if you claim something, don’t forget to add facts or reasons.)
Are there any solutions/hacks to solve to this problem? Syncing multiple exchange calendars with android?
Yes – simply sync. As mentioned above, Android 4.4 supports it natively.