Por qué no puedes borrar una tarjeta con el móvil: NFC protegido vs bloqueado
Si tu móvil no borra una tarjeta NFC, es una tarjeta protegida que rechaza las escrituras o una etiqueta bloqueada en solo lectura. Así se distinguen.
Por qué tu móvil no puede borrar esa tarjeta
Si tu móvil se niega a borrar una tarjeta NFC, ocurre una de dos cosas. O la tarjeta está protegida, es decir, fue diseñada para rechazar tu móvil, o la etiqueta está bloqueada, es decir, alguien la puso en solo lectura. En la app se ven igual. La solución es distinta, y ninguna de las dos es un fallo de tu teléfono.
Aquí explicamos cómo funciona cada caso, cómo saber cuál tienes y qué hacer después.
Tarjetas protegidas: hechas para rechazar tu móvil
Las tarjetas de acceso, las de transporte y credenciales similares están blindadas a propósito. Como lo resume la página de ayuda de un fabricante de apps NFC, algunas etiquetas NFC están protegidas contra lecturas y escrituras, y con ese tipo de chip no puedes leerlo, escribirlo, copiarlo ni emularlo.
Ese es el objetivo del diseño. Una tarjeta de acceso a un edificio que cualquier móvil pudiera reescribir no serviría de mucho.
Es posible que notes también que una tarjeta protegida se detecta, pero tu app no muestra registros NDEF legibles. Es normal en muchas tarjetas seguras. Lo explicamos en por qué algunas tarjetas no muestran registros NDEF.
Si es una tarjeta de acceso o de transporte, la respuesta sincera es no: no puedes borrarla con un móvil, y no deberías intentarlo. Consulta a quien la emitió.
Etiquetas bloqueadas: solo lectura a propósito
Una etiqueta bloqueada es otro caso. Es una etiqueta corriente, por ejemplo una pegatina NTAG, que se pasó a solo lectura después de escribirla. Se sigue detectando sin problema. Lo único es que no acepta datos nuevos.
En Android, la clase Ndef expone este estado. isWritable() indica si una etiqueta está en solo lectura o en lectura y escritura, y canMakeReadOnly() indica si se puede bloquear. El detalle clave está en la documentación de makeReadOnly(): marca el contenedor de capacidades como solo lectura y, cuando es posible, fija de forma permanente los bits de bloqueo. La documentación afirma sin rodeos que es un proceso de un solo sentido que no se puede revertir.
Los chips NTAG 21x de NXP muestran el lado del hardware. En su página de producto figura un bloqueo de solo lectura programable en campo por página, además de un contenedor de capacidades con bits de acceso programables una sola vez. Una vez fijados esos bits, no hay forma de volver atrás.
Etiquetas con contraseña
El bloqueo no es la única forma en que una etiqueta dice que no. Los mismos chips NTAG 21x admiten protección con contraseña de 32 bits, con un límite opcional de intentos fallidos. Una etiqueta configurada así puede rechazar operaciones de memoria hasta que se indique la contraseña correcta. Si la conoces, quizá puedas modificarla. Si no, tu móvil no puede adivinarla por ti.
Cómo saber cuál tienes
Sigue estas comprobaciones en orden:
- Escanéala con una app lectora y abre la vista de lectura. Una etiqueta bloqueada suele mostrar un estado de solo lectura. Nuestra guía para comprobar si una etiqueta es de solo lectura te lo explica paso a paso.
- Fíjate en el tipo de etiqueta. Una pegatina o llavero que compraste para escribir probablemente es una NTAG bloqueada. Una tarjeta de tu empresa, un hotel, un gimnasio o el transporte probablemente está protegida.
- Si programas en Android, llama a
isWritable(). SiNdef.get(tag)devuelve null, la etiqueta no tiene formato NDEF o usa un formato propietario que tu móvil no implementa. En ese caso, una escritura NDEF no funcionará.
Otros motivos por los que falla una escritura
No todo error de escritura es un bloqueo. La misma página de ayuda enumera varias causas habituales:
- La etiqueta no tiene memoria suficiente para lo que quieres escribir.
- Moviste la etiqueta durante la operación.
- Una funda, una superficie metálica o una batería cercana interfieren con la antena.
- La etiqueta está dañada, o el NFC está desactivado.
Descártalas primero. Nuestra guía sobre un error de escritura que no es un bloqueo te ayuda a separar ambos casos.
Qué hacer a continuación
- Tarjeta protegida: déjala como está. Contacta con quien la emitió si necesitas cambiarla o reemplazarla.
- Etiqueta bloqueada: si el bloqueo fue permanente, seguirá en solo lectura. Usa una etiqueta nueva para tu proyecto.
- Etiqueta con contraseña: necesitas la contraseña. Sin ella, trátala como si estuviera bloqueada.
- Fallo de escritura corriente: corrige la causa (memoria, posición, funda, ajuste de NFC) e inténtalo de nuevo.
Piénsalo dos veces antes de bloquear una etiqueta que quizá quieras reutilizar. Si buscas una app que muestre el estado de las etiquetas y escriba en las tuyas, NFCore está en la App Store y en Google Play. Ten en cuenta que el soporte de NFC en el iPhone es más limitado que en Android, así que algunas operaciones con etiquetas solo son posibles en Android.
Preguntas frecuentes
¿Puedo desbloquear una etiqueta NFC bloqueada?
Si los bits de bloqueo se fijaron de forma permanente, no. La documentación de Android dice que pasar una etiqueta a solo lectura es un proceso de un solo sentido que no se puede revertir. Una etiqueta que solo tiene contraseña se puede modificar si conoces la contraseña.
¿Por qué mi móvil lee mi tarjeta de acceso pero no puede borrarla?
Las tarjetas de acceso están hechas para resistir cambios. Algunas están protegidas contra lecturas y escrituras, y muchas no pueden ser copiadas ni emuladas por un móvil.
¿Cómo sé si una etiqueta está bloqueada?
Escanéala con una app lectora y mira su estado. En código Android, Ndef.isWritable() indica si la etiqueta está en solo lectura o en lectura y escritura.