Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

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.

share|improve this question
add comment

2 Answers 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

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.