4

for an online calendaring website we offer our visitors to "Subscribe to the calendar" using their native Calendar app.

On iOS, this is pretty easy, as iOS recognises the iCal format, and everything is handled perfectly.

On Android however, the iCal/webcal file is downloaded, and thus not kept in sync with any changes.

We'd like to offer a solution to Android visitors which is just as easy as on the iOS platform. When a user clicks the "Subscribe" link on the webpage, it should open up the native Calendar app, which in turn registers the subscription to the ical, and keeps all events in sync.

Any help is much appreciated.

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Evert E.
  • 61
  • 3
  • 1
    When clicking a `webcal://` URL in the android browser I get an error in adb logcat: `Exception:android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=webcal://...` – cweiske Apr 06 '22 at 06:30

1 Answers1

1

The correct way is to offer a webcal:// URL that the browser hands off to the calendaring application, without downloading it first. This works fine for iOS and desktop browsers when a calendaring application is installed.

Android is a different beast because there is no default handler for webcal:// URLs installed. There are apps like iCSx5 that provide the webcal handler, but they need to be installed by the users before the links work.

But because most Android phones are tied to a google account, providing a "Subscribe with Google calendar" link as second option is helpful:

https://calendar.google.com/calendar/r?cid=webcal%3A%2F%2Fexample.org%2Fcalendar.ics

cweiske
  • 30,033
  • 14
  • 133
  • 194