3

I'm on an unrooted Galaxy Nexus, and using stock Gmail and Calendar apps on Android 4.1.1. But I am using Chrome rather than the stock browser.

When I get a invite from a Gmail user to my Gmail account, it appears with "Yes/Maybe/No" option links and an invite.ics attachment (which doesn't do anything: "No app can open this attachment for viewing").

  • Clicking one of "Yes/Maybe/No", whether I have already done so or not, opens Chrome with a warning "You are trying to use the desktop version of Google Calendar from a mobile browser [...] use the mobile version instead?"

    • If I click "OK" I get the mobile browser version of Calendar, but it's a view of today's appointments. There is no mention of the event I've responded to or any confirmation message about my response having been registered.

    • If I click "Cancel" I get the desktop version of Calendar showing the details of the appointment and a messaging confirming the response I have sent.

  • In either case, the event is in my calendar; the invite remains in my inbox.

I guess the core of my question is whether I can prevent the browser opening at all - surely the mechanics of accepting invites should be performed in the Calendar app and thus work offline?

Note that this question is about invites from Google Calendar and not about handling .ics files in general.

3 Answers 3

2

There is very little you can do! The calendar application is wired up to trigger a open intent to the web browser to accept the invites, its written up in the package's manifest.

<activity android:name="GoogleCalendarUriIntentFilter" android:label="@string/app_label"
    android:theme="@android:style/Theme.NoDisplay"
    android:configChanges="orientation|keyboardHidden">

    <intent-filter
       android:priority="50">
       <action android:name="android.intent.action.VIEW" />
       <category android:name="android.intent.category.DEFAULT" />
       <category android:name="android.intent.category.BROWSABLE" />
       <data android:scheme="http" android:host="www.google.com" android:pathPrefix="/calendar/event" />
       <data android:scheme="https" android:host="www.google.com" android:pathPrefix="/calendar/event" />
       <data android:scheme="http" android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
       <data android:scheme="https" android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
    </intent-filter>
</activity>

Source: packages/apps/Calendar/src/com/android/calendar/GoogleCalendarUriIntentFilter.java

2

I had the same problem and I did the following: on the mobile devices Settings/Apps/Calendar. Clear Cache and Data. Relaunch Calendar and now when I tap Yes/Maybe/Now Gmail sends the reply automatically, without redirecting me to the mobile browser. Hope this helps.

1
  • Just tried this on 5.1 (CM12.1) and it works perfectly. Commented Sep 22, 2015 at 7:01
1

If you go to Setting\Apps\Chrome and scroll down to "Launch by default" and hit "Clear defaults" it will stop automatically opening in Chrome and will ask you which app to open it with when you hit "Yes/Maybe/No". However, if you try to open with Calendar it still goes to the browser with the same issue.

One workaround I have found - there is an app called Invitation Plugin. It allows you to open the invite.ics from Gmail and view the event directly in Calendar.

It's a work around for a problem that didn't exist in Ice Cream Sandwich but now does exist in Jelly Bean and really shouldn't exist at all but at least it's a simple and effective work around.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .