Parce que hackbod ne nous a jamais donné d'exemples de code, je veux juste partager le mien, après avoir réussi à le faire fonctionner.
Tout d'abord, vous devez définir une action personnalisée dans votre fichier manifeste :
<activity
android:name=".activity.MainActivity"
android:label="@string/app_name_full">
<intent-filter>
<action android:name="com.yourpackage.action.OPEN_VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
</intent-filter>
</activity>
Ensuite, pour le contenu de votre site web, vous devez générer l'URI à partir d'une intention. Placez le code suivant dans votre activité (ce code peut être supprimé une fois que le lien est généré) :
Intent i = new Intent();
i.setAction("com.yourpackage.action.OPEN_VIEW");
i.setPackage("com.yourpackage");
i.putExtra("myextra","anystring");
Log.d(getClass().getSimpleName(), i.toUri(Intent.URI_INTENT_SCHEME));
Pour recevoir les Extras, placez les éléments suivants dans votre activité, qui est capable de recevoir l'action personnalisée (telle que définie dans le manifeste) :
final Intent intent = getIntent();
final String action = intent.getAction();
if ("com.yourpackage.action.OPEN_VIEW".equals(action)) {
Log.i(getClass().getSimpleName(), "EXTRA: "+intent.getExtras().getString("myextra"));
}
Sur votre site web (il s'agit du lien généré précédemment) :
<a href="intent:#Intent;action=com.yourpackage.action.OPEN_VIEW;package=com.yourpackage;S.myextra=anystring;end">Open App with extra</a>
J'espère que cela aidera quelqu'un à mieux comprendre. Veuillez me corriger si j'ai fait une erreur.