Cómo leer detecta la etiqueta NFC (mensaje NDEF). Android NFC

Pregunta Similar – Cómo leer detecta la etiqueta NFC (NDEF contenido) detalles en android?

Quiero que mi aplicación de android para ser capaz de leer y analizar una detectado mensaje NDEF.

Ya he editado el AndroidManifest.xml para detectar las etiquetas nfc y he añadido la intención de filtro se parece a esto

            <intent-filter>
            <action android:name="android.nfc.action.TAG_DISCOVERED"/>
            <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>

Creo que esto está muy bien, como cuando uso el NFCDemo aplicación de ejemplo que viene con el SDK para crear MockNDEFtags, cuando la lista de aplicaciones que pueden elegir para manejar estos generan etiquetas de mi app aparece.
Yo, a continuación, haga clic en mi app y se abre sin problema, solo necesito una manera de leer los datos que ha pasado en el mensaje NDEF. El código:

 Tag myTag = (Tag) nfcintent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

 //get NDEF tag details
 Ndef ndefTag = Ndef.get(myTag);
 ...
 NdefMessage ndefMesg = ndefTag.getCachedNdefMessage();

se sugirió que en una pregunta similar, y a través de la web puedo encontrar muchas respuestas similares.
Mi problema es con la línea de código

"Tag myTag = (Tag) nfcintent.getParcelableExtra(NfcAdapter.EXTRA_TAG);"

Me sale el error «nfcintent no puede ser resuelto»
Me doy cuenta de que el autor de el código probable que ponga nfcintent como un marcador de posición para una intención específica para mi aplicación, sin embargo no estoy seguro de lo que estoy supone que debe poner en su lugar.

Mi mainactivity que comienza mi aplicación se ve este

public class TabsActivity extends TabActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TabHost tabHost = getTabHost();

    //Tab for Graph
    TabSpec graphspec = tabHost.newTabSpec("Graph");
    //setting Title and Icon for the Tab
    graphspec.setIndicator("Graph");
    Intent graphIntent = new Intent(this, GraphActivity.class);
    graphspec.setContent(graphIntent);

    //Tab for Intro
    TabSpec introspec = tabHost.newTabSpec("Intro");
    introspec.setIndicator("Intro");
    Intent introIntent = new Intent(this, IntroActivity.class);
    introspec.setContent(introIntent);


    //Adding all TabSpec to TabHost
    tabHost.addTab(introspec); //Adding intro tab
    tabHost.addTab(graphspec); //Adding graph tab

}

}

Lo asumen como este, se inicia la aplicación es donde la etiqueta de NFC se debe de tratar. Si puedo acceder a la NDEFMessage de la etiqueta que ya tienen la capacidad de analizar con el NdefMessageParser desde el android aplicación de muestra. Quiero analizar la información de la NDEFmessage y, en última instancia, de que la información sea accesible por cada ficha en la aplicación.

  • Mi pregunta es con el código snipets como «Parcelable[] rawMsgs = intención .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);» la intención no puede ser resuelto. que la intención soy yo en realidad, se supone utilizar.
InformationsquelleAutor curtisq | 2012-07-28

2 Kommentare

  1. 2

    Probar este Fragmento de código para extraer el mensaje de la Etiqueta :

    Parcelable[] rawMsgs = intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        NdefMessage msg = (NdefMessage) rawMsgs[0];
        extractMessage(msg);
    
    private void extractMessage(NdefMessage msg) {
            byte[] array = null;
            array = msg.getRecords()[0].getPayload();
    }

    También Echa un vistazo a este Ejemplo para NFC Reader/Writer

  2. 2

    Para conseguir el objetivo de que pasa la etiqueta de NFC para iniciar la actividad en mi caso «nfcintent» sólo uso

    Intent nfcintent = getIntent();

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea