Search code examples
androidnfcuniqueidentifiermifareserial-number

Is it possible to get UID of a Mifare Classic or Desfire card by android phone with the Broadcom NFC chip?


I only need to get the UID of a Mifare classic or a Desfire card by the getId() function. I will not need any other read-write operations.

Can a smartphone with the broadcom NFC chip, read the UIDs of Mifare or Desfire cards? I looked at the Nexus 4 read Mifare Classic card UID and What mobile phones with NFC have full support of Mifare Classic (1K & 4K) cards? threads but there is no clear answer.

Did anyone try e.g. Samsung Galaxy Young 2 or Samsung Galaxy S3 Neo with the Mifare or Desfire?

Thanks :)


Solution

  • Yes, it is possible. You just need to use method getId() from android.nfc.Tag (http://developer.android.com/reference/android/nfc/Tag.html#getId()) and you will get the UID no matter what NFC chipset you have on your phone. UID is not a Mifare-specific identifier, but one defined in ISO 14443-3, so all contactless cards shall provide it in the same way. OK, there are differences in TypeA and TypeB, but you get my point.

    I have tested it on a Nexus 5, which I believe also has a Broadcom chipset. Please share your results when you test it on other terminals!