Los cambios introducidos en Qt NFC
Qt 6 son el resultado del esfuerzo consciente por hacer el framework más eficiente y fácil de usar.
Intentamos mantener la compatibilidad binaria y de código fuente de todas las API públicas en cada versión. Pero algunos cambios eran inevitables en un esfuerzo por hacer de Qt un framework mejor.
En este tema resumimos esos cambios en Qt NFC, y proporcionamos una guía para manejarlos.
Nuevas características y métodos
Añadido QNdefRecord::clear()
Usa este método para borrar un registro NDEF.
Añadido QNdefFilter::match()
Utilice este método para comprobar si un QNdefMessage coincide con el filtro dado. El método devuelve true en caso de coincidencia y false en caso contrario.
Ampliado QNearFieldTarget::Type
El enum se ha ampliado con dos tipos más:
Cambios en las funciones y métodos
Renombrado QNearFieldManager::isAvailable()
Se renombró QNearFieldManager::isAvailable() a QNearFieldManager::isEnabled().
Se añadió el argumento de método de acceso a QNearFieldManager::isSupported
El argumento accessMethod permite comprobar si una característica específica está soportada. Esto es relevante porque diferentes plataformas o versiones de sistemas operativos pueden soportar diferentes opciones.
Se ha añadido el argumento de método de acceso a QNearFieldManager::startTargetDetection
El argumento accessMethod permite buscar etiquetas NFC con el método de acceso indicado.
Cambiado QNdefNfcSmartPosterRecord::typeInfo de QByteArray a QString
Según la especificación NDEF Smart Poster, el tipo es una cadena con formato UTF-8. Esto afecta a los métodos QNdefNfcSmartPosterRecord::typeInfo() y QNdefNfcSmartPosterRecord::setTypeInfo().
Actualizado el tipo de retorno de QNdefFilter::appendRecord
QNdefFilter::appendRecord ahora realiza una validación básica de los parámetros de entrada y devuelve un valor booleano que indica si el registro se añade o no al filtro.
Funciones y métodos eliminados
Eliminado QNearFieldTarget::url
El método nunca se implementó en las subclases existentes de QNearFieldTarget.
Eliminado QNearFieldTarget::sendCommands
En Qt 5, el método no era muy útil porque no proporcionaba una forma de rastrear los resultados de los comandos intermedios. Normalmente, un comando adicional necesita ser enviado sólo cuando el comando anterior se ejecuta con éxito.
El enfoque correcto sería crear manualmente una cola de comandos, utilizar QNearFieldTarget::sendCommand para enviar un comando y QNearFieldTarget::requestCompleted o QNearFieldTarget::error para manejar los resultados de cada comando individualmente.
Eliminado QNearFieldTarget::keepConnection
Se han eliminado los métodos QNearFieldTarget::keepConnection() y QNearFieldTarget::setKeepConnection(). Mantener la conexión es el comportamiento por defecto por ahora.
Eliminado QNearFieldTarget::isProcessingCommand
El método nunca se implementaba y siempre devolvía false.
Convertido en API privada QNearFieldTarget::setResponseForRequest
El método no debería exponerse como API pública. Utilice QNearFieldTarget::ndefMessageRead o QNearFieldTarget::requestResponse para leer los datos de una etiqueta NFC.
Eliminado QNearFieldTarget::handleResponse
Se ha eliminado este método, ya que sólo reenviaba la llamada a QNearFieldManager::setResponseForRequest, que se ha convertido en una API privada.
Convertido en API privada QNearFieldTarget::reportError
Se puede utilizar una señal QNearFieldTarget::error en su lugar.
Eliminada la señal QNearFieldTarget::ndefMessagesWritten
La señal QNearFieldTarget::requestCompleted se utiliza tanto para mensajes NDEF como para comandos personalizados. El parámetro id puede utilizarse para comprobar qué petición se ha completado realmente.
Eliminado QNearFieldManager::(un)registerNdefMessageHandler
Se han eliminado los métodos QNearFieldTarget::registerNdefMessageHandler y QNearFieldTarget::unregisterNdefMessageHandler.
Utilice QNearFieldTarget::ndefMessageRead() y QNdefFilter::match() para detectar los mensajes NDEF y filtrar los requeridos.
Nota: La aplicación puede seguir iniciándose automáticamente una vez que se toca la etiqueta NDEF. El ejemplo de URL anotada muestra cómo conseguirlo en Android.
Eliminado QNearFieldManager::TargetAccessModes
El enum TargetAccessModes ha sido eliminado junto con los métodos getter y setter (QNearFieldManager::setTargetAccessModes() y QNearFieldManager::targetAccessModes()).
La función no es compatible con las plataformas Android e iOS.
QNearFieldShareManager y QNearFieldShareTarget eliminados
El intercambio de archivos a través de NFC está obsoleto en Android en la API 29. En su lugar, se deben utilizar otras tecnologías. En su lugar, deben utilizarse otras tecnologías.
API QML eliminada
El soporte para la API QML se ha descontinuado.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.