Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9.0
-
None
Description
Lately we had some issues with NFC on Android Smartphones (especially Samsung ones) where a call to android.nfc.tech.IsoDep.getMaxTransceiveLength from QNearFieldTarget::sendCommand() resulted in the following exception:
java.lang.SecurityException: Permission Denial: Tag ( ID: 08 B1 F8 BA ) is out of date at android.nfc.Tag.getTagService(Tag.java:382) at android.nfc.tech.BasicTagTechnology.getMaxTransceiveLengthInternal(BasicTagTechnology.java:138) at android.nfc.tech.IsoDep.getMaxTransceiveLength(IsoDep.java:183)
This seems to indicate that the card was removed/lost.
sendCommand() emits the error InvalidParametersError which is ambiguous as the command might also be too long for the device and might be sent in smaller messages.
If the call to getMaxTransceiveLength() fails altogether, the card should be invalidated to signal the lost card.
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-136506 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
642783,4 | Report error and targetLost if system call fails | dev | qt/qtconnectivity | Status: NEW | 0 | 0 |