After working with URL schems in iOS I assumed that Android would work the same. Unfortunately this was not the case. No matter what I tried I couldn’t get the Android OS to detect a custom url scheme, e.g. shaydesdsgn://action=option.
The problem was that if a user enters a url scheme into a browsers address bar the browser handles the URL itself, skipping the OS’s in built URL detection. In other words the browser doesn’t issue a general-purpose VIEW/BROWSABLE intent when you type a URL into the location bar.
However if the URL scheme is launched via a link , everything works correctly.
The following needs to be added in order to get URL schemes working.
<intent-filter> <!-- You would replace shaydesdsgn with your own URL scheme --> <data android:scheme="shaydesdsgn" /> <!-- or you can use deep linking like --> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter>
That’s all there is to it.