L'obtention de la NFC ID de Matériel Dans Android
Je veux faire quelque chose d'assez simple, mais je ne peux pas tout à fait si la méthode dans le pain d'épice de l'API est pour l'ID de la balise en cours de numérisation ou le matériel à bord du Nexus S. Ce que je veux être en mesure de faire est d'obtenir l'identificateur unique de la puce NFC de l'appareil, afin que je puisse l'enregistrer (par exemple. lorsque l'appareil est levée sur un lecteur RFID, je peux associer le dispositif de levée avec un compte). Est-ce possible avec l'API actuelle des méthodes disponibles?
Le morceau de code qui ressemble le plus prometteur (mais je ne peux pas tester car je n'ai pas de périphérique) est
byte[] tagId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
OriginalL'auteur Matt | 2011-01-27
Vous devez vous connecter pour publier un commentaire.
tagId est un tableau d'octets. Vous devez analyser ce tableau à une chaîne hexadécimale. Il y a beaucoup de façons de le faire, mais ce code va le faire sans avoir recours à des bibliothèques externes et il est facile de voir ce qui se passe:
Je n'ai pas de balise de test, mais pourquoi n'utilisez-vous pas: byte[] rawTagId = getIntent() .getByteArrayExtra(NfcAdapter.EXTRA_ID); String tagId = new String(rawTagId);
OriginalL'auteur Adam Laurie
Dans la version 2.3.3 vous avez de la classe de la Balise et si vous obtenez cet objet fron intention, vous pouvez utiliser la méthode getId(),
et si vous avez besoin d'id de balise de byte [], "Chaîne", vous devez l'analyser à partir de l'octet hex ;).
OriginalL'auteur Robert
L'intention
NfcAdapter.ACTION_TAG_DISCOVERED
sera automatiquement envoyé par le contrôleur NFC lorsqu'une balise est découvert.Pour gérer une telle intention, vous devez ajouter un filtre d'intention pour cette action
android.nfc.action.TAG_DISCOVERED
:Ajouter l'autorisation appropriée:
Restreindre votre application uniquement pour les périphériques pris en charge:
Lorsque vous manipulez l'intention, vous pouvez appeler le code que vous avez suggéré:
Pour plus d'informations, visitez:
OpenIntents
O'Reilly de livre en ligne - Chapitre 18
Pourquoi ne pas utiliser l'appareil IMEI ou MEID? Ils sont considérés comme uniques, et vous pouvez les enregistrer.
Parce que lorsque l'appareil NFC jeton est scanné par un lecteur que l'info n'est pas transféré (mais c'est quelque chose qui pourrait trouver son chemin dans Android plus tôt que d'obtenir de l'appareil NFC jeton)
OriginalL'auteur Lior