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.

OriginalL'auteur susomena | 2012-12-16