10#include <QtCore/QMetaType>
17 JNIEnv *, jobject , jlong qtObject, jint
state)
23 obj->adapterStateChanged(adapterState);
32 qRegisterMetaType<QJniObject>(
"QJniObject");
33 qRegisterMetaType<QNdefMessage>(
"QNdefMessage");
35 broadcastReceiver = QJniObject::construct<QtJniTypes::QtNfcBroadcastReceiver>(
36 reinterpret_cast<jlong
>(
this), QNativeInterface::QAndroidApplication::context());
41 broadcastReceiver.callMethod<
void>(
"unregisterReceiver");
77 if (newIntentListener.isDestroyed())
81 requestedMethod = accessMethod;
82 newIntentListener->registerListener(
this);
89 if (newIntentListener.exists())
90 newIntentListener->unregisterListener(
this);
98 this->onTargetDiscovered(intent);
104 if (!intent.isValid())
111void QNearFieldManagerPrivateImpl::onTargetDiscovered(
QJniObject intent)
119 target->setIntent(intent);
123 if (
target->accessMethods() & requestedMethod) {
129 detectedTargets.
remove(uid);
134void QNearFieldManagerPrivateImpl::onTargetDestroyed(
const QByteArray &uid)
136 detectedTargets.
remove(uid);
147 jsize
len = env->GetArrayLength(
tagId.object<jbyteArray>());
149 env->GetByteArrayRegion(
tagId.object<jbyteArray>(), 0,
len,
reinterpret_cast<jbyte*
>(uid.data()));
bool remove(const Key &key)
Removes the item that has the key from the hash.
bool isEnabled() const override
QByteArray getUid(const QJniObject &intent)
bool isSupported(QNearFieldTarget::AccessMethod accessMethod) const override
bool startTargetDetection(QNearFieldTarget::AccessMethod accessMethod) override
void newIntent(QJniObject intent) override
~QNearFieldManagerPrivateImpl() override
static QByteArray getUidforTag(const QJniObject &tag)
void stopTargetDetection(const QString &errorMessage) override
void targetDetected(QNearFieldTarget *target)
void targetLost(QNearFieldTarget *target)
void targetDetectionStopped()
void targetDestroyed(const QByteArray &tagId)
void targetLost(QNearFieldTargetPrivateImpl *target)
The QNearFieldTarget class provides an interface for communicating with a target device.
AccessMethod
This enum describes the access methods a near field target supports.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
QJniObject getTag(const QJniObject &intent)
AudioChannelLayoutTag tag
#define Q_GLOBAL_STATIC(TYPE, NAME,...)
QT_BEGIN_NAMESPACE JNIEXPORT void JNICALL Java_org_qtproject_qt_android_nfc_QtNfcBroadcastReceiver_jniOnReceive(JNIEnv *, jobject, jlong qtObject, jint state)