Im essayant de créer mon propre schéma d'URL afin que mon application android puisse s'appeler via une URL mais pour l'instant je n'ai pas de succès.android personnalisé url schéma ..?
Im essayant d'avoir cette URL pour travailler: Cedemo: //com.cedemo.scan X = toto
Voici une partie de mon fichier manifeste:
<activity android:name=".Gallery1" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.GALLERY" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="cedemo" android:host="com.cedemo.scan" />
</intent-filter>
</activity>
Est-ce que quelqu'un peut aider dire moi ce qui ne va pas? Aussi, si quelqu'un trouve ce qui ne va pas, quelqu'un peut-il me dire comment j'ai lu la variable "X" à partir du code android de mon application?
Mise à jour:
Mise à jour: Je l'ai fait la modification de l'action (comme conseillé dans l'une des réponses) et il a bien fonctionné. Le fait est que je ne peux toujours pas obtenir la valeur de la variable url. Voici le code que j'ai essayé.
final Intent intent = getIntent();
final String myScheme=intent.getScheme();
final Bundle myBundle=intent.getExtras();
final boolean inContestKey;
if (myBundle != null) {
inContestKey=myBundle.containsKey("inContest");
}
final Uri myURI=intent.getData();
final String value;
if (myURI != null) {
value = myURI.getQueryParameter("inContest");
}
Mais que je reçois null
de toutes les fonctions ... Que puis-je faire d'autre?
Peut être que je devrais mieux expliquer le contexte de mon logiciel:
- Mon logiciel est démarré
- Mon lancement de logiciel, le navigateur
- l'utilisateur clique sur un lien dans le navigateur et le navigateur aller au régime d'URL, de retour au logiciel avec une variable "X" (par exemple)
- le logiciel devrait lire la variable "X"
Mais dans mon cas: myScheme
, myBundle
, myURI
sont mis à null
.
Des idées?
Mise à jour:
Je trouve la réponse est que vous devez être dans l'activité principale de le faire.
HI, MERCI beaucoup pour les infos. J'ai changé l'action en action.VIEW et ça a bien fonctionné. La seule chose est que je ne suis pas capable d'attraper la variable url "X" ... J'ai essayé ce code: – Fabien
public void onStart() { \t super.onStart(); \t \t \t final Intention intention = getIntent(); \t final Chaîne myScheme = intent.getScheme(); \t final Bundle myBundle = intention.getExtras(); \t final boolean inContestKey; \t if (myBundle! = Null) \t \t inContestKey = myBundle.containsKey ("inContest"); final Uri myURI = intention.getData(); final Valeur de chaîne; if (myURI! = Null) \t value = myURI.getQueryParameter ("X"); mais tout reçoit une valeur NULL ... Que puis-je faire ?? – Fabien
pour une meilleure lecture, j'ai édité ma question. – Fabien