Android url override doesn't work on redirect

android, android-intent, intentfilter, url-scheme

Solution

Could very well be a real/known bug.

The one I suggested (but which is now closed so it seems would be fixed for version you're trying with): https://code.google.com/p/chromium/issues/detail?id=113140

Found/opened by @xbakesk: https://code.google.com/p/chromium/issues/detail?id=170925 https://code.google.com/p/chromium/issues/detail?id=230104

If any other bugs found, just let me know in the comments and I will add, or edit my answer directly. If bugs get closed, I'll also try to update the answer.

Problem

I have a url that I am overriding in my Android App. Clicking a link from an email to that link pops up the `Intent Chooser` dialog ("Complete this using"). However clicking the same link (in an `<a>` tag) from within Chrome (on Android 4) redirects me to that url, and doesn't offer the `Intent Chooser`. If I replace the link in the `<a>` tag with a link to the Google Play Store (`https://play.google.com`) then clicking the link pops up the `Intent Chooser` again. Is there something special with the Google Play Store and Chrome, or have I done something wrong configuring my url? Is there something I can do in html to make this work? Here's the `<intent-filter>` ``` <activity android:label="@string/app_name" android:name="..." > <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="https" android:host="www.example.com" /> <data android:scheme="http" android:host="www.example.com" /> </intent-filter> </activity> ``` (Redirecting to the url also does not pop up the `Intent Chooser` dialog, but I figured my situation above more pointedly expresses my issue.) Also of note, I am fairly certain this was all working while my domain was down. As soon as my domain came online this stopped working. This could be a figment of my imagination as I wasn't 100% focused on this problem at the time. Is it possible that Chrome treats Google Play Store urls special, otherwise it waits for a non-200 response from a url before opening the `Intent Chooser`?

Original source