IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

NFC et passage de paramètre Application


Sujet :

API standards et tierces Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut NFC et passage de paramètre Application
    Bonjour,

    Je suis étudiant et à mes heures perdues je bidouille sur Android. Actuellement je suis sur le NFC sur un google Nexus S. J'ai vu que depuis la 4.0 il est possible de lancer une application depuis un tag NFC ( via createApplicationRecord ), jusque là pas de soucis. Ensuite j'aimerai récupéré les données de mon tag NFC dans mon application lancé et là je bloque totalement.

    J'ai recherché s'il était possible de lancer une application avec des paramètres (comme une fonction par exemple) et comment récupérer les données lu sur le tag au moment du lancement de l'application mais pas de résultats probants ...

    Je maitrise moyennement android mais je n'ai aucun soucis avec la manipulation NFC.

    Si quelqu'un peut me mettre sur une piste ?

    Merci de vos aides

    Orull

  2. #2
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 604
    Points : 18 520
    Points
    18 520
    Par défaut
    Bonjour,

    Commence par lire ça :
    http://developer.android.com/guide/t...nfc/index.html

    Tout est expliqué.
    Pour que lorsqu'un Tag est détecté ton application apparaisse dans la liste, ça ce passe dans le Manifest.

    Et pour qu'une Activity se lance alors que t'es à l'intérieur de ton application c'est :
    ForegroundDispatch, IntentFilter, PendingIntent, etc..

    Enfin tout est expliqué.

    Par exemple pour avoir l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] id = getIntent().getByteArrayExtra(NfcAdapter.EXTRA_ID);
    Keith Flint 1969 - 2019

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse mais ce n'est pas mon problème.

    Je sais comment faire pour lire un tag NFC, écrire sur le tag, le ForegroundDispatch etc... J'ai déjà quelques applications qui marchent très bien.

    Mon problème : c'est n'est pas de faire apparaître mon application dans la liste des applications qui peuvent lire un tag détecté. Depuis la 4.0 tu peux configurer un tag NFC pour qu'à sa lecture il lance automatiquement l'application inscrite dessus : pas besoin d'afficher les applications disponibles , elle se lance automatiquement.

    Donc ma question c'est comment une fois l'application lancée par ce procédé, récupérer les données du tag lu?

    J'espère que c'est plus claire??


    Merci


    Orull

  4. #4
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 604
    Points : 18 520
    Points
    18 520
    Par défaut
    Normalement ça devrait être géré là :
    http://developer.android.com/guide/t...tering-intents

    De toute façon ça ce passe forcément dans l'intent filter.
    Android regarde quel application est la plus adapté selon le tag.

    En fait j'ai cherché et tu dois te renseigner sur les AAR :
    http://developer.android.com/guide/t...c/nfc.html#aar
    Keith Flint 1969 - 2019

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par thierrybenji Voir le message
    De toute façon ça ce passe forcément dans l'intent filter.
    Android regarde quel application est la plus adapté selon le tag.
    Et bien justement non, grâce à l'AAR le tag dit à android quelle application il doit lancer, il n'a pas le choix, car s'il ne l'a trouve pas sur le device, il lance une recherche sur le google play.

    Citation Envoyé par thierrybenji Voir le message
    En fait j'ai cherché et tu dois te renseigner sur les AAR :
    http://developer.android.com/guide/t...c/nfc.html#aar
    Je suis déjà passé par là mais je ne trouve pas grand chose quant à son utilisation sur le web (google search, forum android). Cela n’a pas l'air très encore utilisé ou peu parlé.

    Je continue mes recherches on ne sait jamais ...

    Merci beaucoup pour tes réponses

    PS : je viens de relire ton lien ( dans le cas où une chose m'aurait échappé ) et j'ai vu çà :
    AARs are only supported at the application level, because of the package name constraint, and not at the Activity level as with intent filtering. If you want to handle an intent at the Activity level, use intent filters.
    Si je comprend bien cela veut dire qu'il ne passe pas par les intents?? Donc ce que je souhaite faire est impossible via l'AAR ?

    Orull

  6. #6
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 604
    Points : 18 520
    Points
    18 520
    Par défaut
    Il parait qu'il y a un exemple dans les samples AndroidBeamDemo...
    Mais j'ai pas vérifié.

    Je ne suis pas plus au courant que toi.
    Ce qui est sûre c'est qu'en dehors de l'application, Android à une liste des application qui sont capable de gérer le TAG.
    Et selon l'intent filter une application peut court-circuité les autres.
    Jusqu'à là c'est tout grâce à l'intent filter.

    Mais si dans le Manifest il y a ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <intent-filter>
    	<action android:name="android.nfc.action.NDEF_DISCOVERED" />
    	<category android:name="android.intent.category.DEFAULT" />
    	<data android:mimeType="application/com.example.android.beam" />
    </intent-filter>
    Le :
    <data android:mimeType="application/com.example.android.beam" />

    Fait peut être que ça va rechercher dans le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    implements CreateNdefMessageCallback, OnNdefPushCompleteCallback
    Keith Flint 1969 - 2019

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai l'impression que CreateNdefMessageCallback et OnNdefPushCompleteCallback permettent de "beamer" un message d'un device vers un autre device.

    Mais j'utilise un tag vers un device.

    Sinon j'ai regardé en profondeur l'exemple donné et j'ai trouvé quelque chose.
    J'ai rajouté dans le onCreate et le onResume un test sur l'intent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
                /*traitement*/
            }
    Au finale je récupère ce qui a été lu dans ce if MAIS ! ( et oui xD ) je ne reçois un intent du type ACTION_NDEF_DISCOVERED que la première fois où l'application est lancée, par la suite j'ai toujours un intent du type android.intent.action.MAIN. Même si je quitte l'appli et que je l’efface de l'arrière plan (si cela se dit comme çà ??).

    Tu sais d'où cela peut venir??


    Merci

    Orull

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passage de paramètres entre 2 applications
    Par matech dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/07/2009, 13h47
  2. Réponses: 5
    Dernier message: 23/05/2008, 19h10
  3. Réponses: 1
    Dernier message: 17/10/2007, 16h54
  4. passage de paramètres à une application (wxApp)
    Par gerard tarquin dans le forum wxPython
    Réponses: 1
    Dernier message: 02/06/2007, 19h53
  5. Réponses: 1
    Dernier message: 21/03/2007, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo