Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-136506

NFC target should be invalidated if Java function call fails

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.9.0
    • Connectivity: NFC
    • None
    • Android

    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

        For Gerrit Dashboard: QTBUG-136506
        # Subject Branch Project Status CR V

        Activity

          People

            ivan.solovev Ivan Solovev
            janmoeller Jan Möller
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change