En esta página

QNearFieldTarget Class

La clase QNearFieldTarget proporciona una interfaz para comunicarse con un dispositivo de destino. Más...

Cabecera: #include <QNearFieldTarget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
Hereda: QObject

Tipos Públicos

class RequestId
enum AccessMethod { UnknownAccess, NdefAccess, TagTypeSpecificAccess, AnyAccess }
flags AccessMethods
enum Error { NoError, UnknownError, UnsupportedError, TargetOutOfRangeError, NoResponseError, …, UnsupportedTargetError }
enum Type { ProprietaryTag, NfcTagType1, NfcTagType2, NfcTagType3, NfcTagType4, …, MifareTag }

Funciones Públicas

QNearFieldTarget(QObject *parent = nullptr)
virtual ~QNearFieldTarget()
QNearFieldTarget::AccessMethods accessMethods() const
bool disconnect()
bool hasNdefMessage()
int maxCommandLength() const
QNearFieldTarget::RequestId readNdefMessages()
QVariant requestResponse(const QNearFieldTarget::RequestId &id) const
QNearFieldTarget::RequestId sendCommand(const QByteArray &command)
QNearFieldTarget::Type type() const
QByteArray uid() const
bool waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
QNearFieldTarget::RequestId writeNdefMessages(const QList<QNdefMessage> &messages)

Señales

void disconnected()
void error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
void ndefMessageRead(const QNdefMessage &message)
void requestCompleted(const QNearFieldTarget::RequestId &id)

Descripción detallada

QNearFieldTarget proporciona una interfaz genérica para comunicarse con un dispositivo de destino NFC. Tanto los dispositivos NFC Forum como los objetivos NFC Forum Tag son compatibles con esta clase. Todas las clases específicas de destino subclase de esta clase.

La función type() se puede utilizar para obtener el tipo de dispositivo de destino. La función uid() devuelve el identificador único del objetivo. Las banderas AccessMethods devueltas por la función accessMethods() pueden comprobarse para determinar qué métodos de acceso admite el objetivo.

Si el objetivo admite NdefAccess, se puede llamar a hasNdefMessage() para comprobar si el objetivo tiene un mensaje NDEF almacenado, y se pueden utilizar las funciones readNdefMessages() y writeNdefMessages() para obtener y establecer el mensaje NDEF.

Si el destino admite TagTypeSpecificAccess, puede utilizarse sendCommand() para enviar un único comando propietario al destino y recuperar la respuesta.

Documentación de tipos de miembros

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

Este enum describe los métodos de acceso que admite un objetivo de campo cercano.

ConstanteValorDescripción
QNearFieldTarget::UnknownAccess0x00El objetivo admite un tipo de acceso desconocido.
QNearFieldTarget::NdefAccess0x01El objetivo admite la lectura y escritura de mensajes NDEF utilizando readNdefMessages() y writeNdefMessages().
QNearFieldTarget::TagTypeSpecificAccess0x02El objetivo admite el envío de comandos específicos del tipo de etiqueta utilizando sendCommand().
QNearFieldTarget::AnyAccess0xffEl objetivo admite cualquiera de los tipos de acceso conocidos.

El tipo AccessMethods es un typedef para QFlags<AccessMethod>. Almacena una combinación OR de valores AccessMethod.

enum QNearFieldTarget::Error

Este enum describe los códigos de error que reporta un objetivo de campo cercano.

ConstanteValorDescripción
QNearFieldTarget::NoError0No se ha producido ningún error.
QNearFieldTarget::UnknownError1Se ha producido un error no identificado.
QNearFieldTarget::UnsupportedError2La operación solicitada no es compatible con este objetivo de campo cercano.
QNearFieldTarget::TargetOutOfRangeError3El objetivo ya no está dentro del alcance.
QNearFieldTarget::NoResponseError4El objetivo no ha respondido.
QNearFieldTarget::ChecksumMismatchError5La suma de comprobación ha detectado una respuesta dañada.
QNearFieldTarget::InvalidParametersError6Se han pasado parámetros no válidos a una función específica del tipo de etiqueta.
QNearFieldTarget::ConnectionError7No se ha podido conectar con el objetivo.
QNearFieldTarget::NdefReadError8No se han podido leer mensajes NDEF del objetivo.
QNearFieldTarget::NdefWriteError9No se han podido escribir mensajes NDEF en el destino.
QNearFieldTarget::CommandError10No se ha podido enviar un comando al destino.
QNearFieldTarget::TimeoutError11La solicitud no pudo completarse en el tiempo especificado en waitForRequestCompleted().
QNearFieldTarget::UnsupportedTargetError12El objetivo utilizado no es compatible. Por ejemplo, esto puede ocurrir si faltan los derechos necesarios y/o la configuración de privacidad de la aplicación cliente.

enum QNearFieldTarget::Type

Este enum describe el tipo de etiqueta como la que se detecta el objetivo.

ConstanteValorDescripción
QNearFieldTarget::ProprietaryTag0Una etiqueta propietaria no identificada.
QNearFieldTarget::NfcTagType11Un objetivo de etiqueta NFC tipo 1.
QNearFieldTarget::NfcTagType22Una etiqueta NFC de tipo 2.
QNearFieldTarget::NfcTagType33Una etiqueta NFC de tipo 3.
QNearFieldTarget::NfcTagType44Una etiqueta NFC de tipo 4. Este valor se utiliza si el NfcTagType4 no puede refinarse mediante NfcTagType4A o NfcTagType4B.
QNearFieldTarget::NfcTagType4A5Un objetivo de etiqueta NFC de tipo 4 basado en ISO/IEC 14443-3A.
QNearFieldTarget::NfcTagType4B6Un objetivo de etiqueta NFC de tipo 4 basado en ISO/IEC 14443-3B.
QNearFieldTarget::MifareTag7Un objetivo Mifare.

Documentación de las funciones de los miembros

[explicit] QNearFieldTarget::QNearFieldTarget(QObject *parent = nullptr)

Construye un nuevo objetivo de campo cercano con parent.

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

Destruye el objetivo de campo cercano.

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

Devuelve los métodos de acceso admitidos por este objetivo de campo cercano.

bool QNearFieldTarget::disconnect()

Cierra la conexión con el objetivo para permitir la comunicación con el objetivo desde una instancia diferente. La conexión también se cerrará cuando se destruya QNearFieldTarget. Se (re)crea una conexión con el dispositivo de destino para procesar un comando o leer/escribir un mensaje NDEF.

Devuelve true sólo si se ha cerrado con éxito una conexión existente; en caso contrario, devuelve false.

[signal] void QNearFieldTarget::disconnected()

Esta señal se emite cuando el objetivo de campo cercano se aleja de su proximidad.

[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)

Esta señal se emite cuando se produce un error al procesar la solicitud id. El parámetro error describe el error.

bool QNearFieldTarget::hasNdefMessage()

Devuelve true si hay al menos un mensaje NDEF almacenado en el objetivo de campo cercano; en caso contrario, devuelve false.

int QNearFieldTarget::maxCommandLength() const

Devuelve el número máximo de bytes que se pueden enviar con sendCommand. Se devolverá 0 si el objetivo no admite el envío de comandos específicos del tipo de etiqueta.

Véase también sendCommand().

[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)

Esta señal se emite cuando se ha leído un NDEF message completo del objetivo.

Véase también readNdefMessages().

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

Inicia la lectura de los mensajes NDEF almacenados en el objetivo de campo cercano. Devuelve un identificador de solicitud que puede utilizarse para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el objetivo no admite la lectura de mensajes NDEF.

Se emitirá una señal ndefMessageRead() por cada mensaje NDEF. La señal requestCompleted() se emitirá cuando se hayan leído todos los mensajes NDEF. La señal error() se emite si se produce un error.

Nota: Un intento de leer un mensaje NDEF de una etiqueta, que está en estado INICIALIZADO según lo definido por el Foro NFC, fallará con la señal NdefReadError, ya que la etiqueta está formateada para soportar NDEF pero aún no contiene un mensaje.

[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)

Esta señal se emite cuando se completa una solicitud id.

Véase también sendCommand().

QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const

Devuelve la respuesta descodificada para la solicitud id. Si la solicitud es desconocida o aún no se ha completado, se devuelve un QVariant no válido.

QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)

Envía command al objetivo de campo cercano. Devuelve un identificador de solicitud que puede utilizarse para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el objetivo no admite el envío de comandos específicos del tipo de etiqueta.

La señal requestCompleted() se emitirá cuando la solicitud se complete correctamente; de lo contrario, se emitirá la señal error().

Una vez completada con éxito la solicitud, la respuesta puede recuperarse desde la función requestResponse(). La respuesta de esta solicitud será un QByteArray.

Véase también requestCompleted() y waitForRequestCompleted().

QNearFieldTarget::Type QNearFieldTarget::type() const

Devuelve el tipo de etiqueta de este objetivo de campo cercano.

QByteArray QNearFieldTarget::uid() const

Devuelve el UID del objetivo de campo cercano.

Nota: En iOS, esta función devuelve un QByteArray vacío para un objetivo de campo cercano descubierto mediante el método NdefAccess.

Véase también QNearFieldTarget::AccessMethod.

bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)

Espera hasta msecs milisegundos a que se complete la solicitud id. Devuelve true si la solicitud se completa correctamente y se emite la señal requestCompeted(); en caso contrario, devuelve false.

QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)

Escribe los mensajes NDEF en messages en el destino. Devuelve un identificador de solicitud que se puede utilizar para realizar un seguimiento del estado de finalización de la solicitud. Se devolverá un identificador de solicitud no válido si el destino no admite la escritura de mensajes NDEF.

La señal requestCompleted() se emitirá cuando la operación de escritura se complete con éxito; en caso contrario, se emitirá la señal error().

© 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.