Adding the intent filter is good, but here's what I do to open an intent on an android device when the user agent matches as such. I'm specifically using rails but you can do it however you like in your server code (such as in the form of a link):
resources :users, path: '/', only: [], constraints: { :id => /\d+/ } do
constraints :user_agent => /Android/i do
#https://developers.google.com/chrome/mobile/docs/intents
get '/:some_key' => redirect {|params, request| "intent://my-domain.com/#{params[:user_id]}/#{params[:some_key}#Intent;package=com.mypackage;scheme=myscheme;end;"}
end
end
In your intent filter use the custom scheme:
<data android:scheme="myscheme"/>
<data android:host="my-domain.com"/>
See https://developers.google.com/chrome/mobile/docs/intents as it gives this example:
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
Note: By giving the qualified package name this way, Android will direct the user to the play store for the app matching that package key if it is not installed.