Índice

Escribir un tag NFC

Como con la lectura, la escritura de un tag se realiza, habitualmente, tras comprobar la compatibilidad del tag detectada por la intención.

Se recomienda encarecidamente crear solo mensajes NFC con formato NdefMessage, que es, tal y como hemos visto antes, independiente de la tecnología de tags subyacente.

La escritura de un tag sigue la estructura de un objeto de tipo NdefMessage: el mensaje incluye uno o varios registros (objetos de tipo NdefRecord), que pueden ser de distintos tipos.

La escritura del tag se realiza mediante un objeto de tipo android.nfc.tech.Ndef, que provee métodos de alto nivel para la escritura.

Es posible obtener una instancia de Ndef utilizando el método estático get(Tag) de la clase Ndef. El tag que se pasa como parámetro es el objeto que la intención provee una vez descubierto el tag.

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);  
Ndef ndef = Ndef.get(tag);  
// ... escritura del tag

El método get(tag) puede devolver null en caso de que el tag no esté soportado por la tecnología NDEF.

La escritura es muy sencilla: basta con inicializar la operación de escritura mediante el método connect(), escribir el tag con el método writeNdefMessage(NdefMessage) y cerrar la conexión invocando el método close().

Try {  
   ndef.connect();  
   ndef.writeNdefMessage(mensaje);  
   ndef.close();  
} catch (IOException e) {  
      e.printStackTrace();   ...