The basic syntax for an intent based URI is as follows:
intent:
HOST/URI-path // Optional host
#Intent;
package=[string];
action=[string];
category=[string];
component=[string];
scheme=[string];
end;
Parsing details available in the Android source.
To launch the ZXing barcode scanner app you can encode your href as follows:
<p>
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">Take a qr code</a><br>
<a href="intent://scan/?ret=http%3A%2F%2Fexample.com#Intent;scheme=zxing;package=com.google.zxing.client.android;end">Take a qr code = 10px x 10px</a><br>
<a href="intent:play/?mediaset=android-phone-rtmp-high&playlisturl=http://www.bbc.co.uk/iplayer/playlist/bbc_one_london#Intent;scheme=bbcmediaplayer;package=air.uk.co.bbc.android.mediaplayer;end">Launch BBC</a>
</p>
The Android manifest defines the scheme to be zxing
, the package to be com.google.zxing.client.android
and the host data to be scan
.
If the activity you are invoking via an intent contains extra
data, these too can be included.
Only activities that have category filter android.intent.category.BROWSABLE
are able to be invoked using this method as it indicates that the application is safe to open from the browser.