Comment lire et écrire dans un NfcA carte de Android
J'ai fait une application qui est appelée lorsque l'intention android.nfc.d'action.TAG_DISCOVERED est envoyé, mais je veux obtenir les informations de la carte dans le onNewIntent méthode, mais je ne sais pas comment gérer ce genre de cartes nfc. J'ai essayé avec le code suivant:
public void onNewIntent(Intent intent) {
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
//do something with tagFromIntent
NfcA nfca = NfcA.get(tagFromIntent);
try{
nfca.connect();
Short s = nfca.getSak();
byte[] a = nfca.getAtqa();
String atqa = new String(a, Charset.forName("US-ASCII"));
tv.setText("SAK = "+s+"\nATQA = "+atqa);
nfca.close();
}
catch(Exception e){
Log.e(TAG, "Error when reading tag");
tv.setText("Error");
}
}
tv est un TextView, mais lorsque ce code est exécuté, il n'est jamais changé.
Êtes-vous sûr que le onNewIntent méthode est appelée? Est-il un type d'erreur?
Je ne suis pas sûr, mais je pense que cette méthode est appelée lorsque j'ai mis la carte près de mon téléphone et que je sélectionne mon application à exécuter.
Je ne suis pas sûr, mais je pense que cette méthode est appelée lorsque j'ai mis la carte près de mon téléphone et que je sélectionne mon application à exécuter.
OriginalL'auteur susomena | 2012-12-16
Vous devez vous connecter pour publier un commentaire.
OnNewIntent est appelé si votre activité est déjà en cours d'exécution et singleTask.
Vous aurez envie de faire du code propre méthode et de l'appeler dans onCreate() ainsi que onNewIntent()
OriginalL'auteur MrChaz
Si vous avez d'autres applications qui permettent de gérer la même balise au niveau supérieur (NDEF_DISCOVERED ou TECH_DISCOVERED) de votre application, de gérer seul le niveau inférieur, ne sera jamais appelé.
Pour l'utilisation de votre application que vous devez ouvrir votre application, que de scanner l'étiquette.
Si votre application ne démarre pas, assurez-vous d'avoir effectué ces étapes:
Dans OnCreate() obtenez votre NfcAdapter:
Dans onResume permettre au premier plan de répartition:
Dans onPause le désactiver:
Dans onNewIntent appel de la fonction pour gérer votre intention
Dans votre fonction de gérer votre tag:
N'oubliez pas d'ajouter les autorisations dans le manifeste:
Plus d'info ici NFC Base et ici De lire les tags NFC
OriginalL'auteur Sara