Gibt es eine Möglichkeit, eine NTAG213 von einem MF0ICU2 Tag auf der Grundlage seiner UID, ATQA oder SAK-Werte zu unterscheiden? Da ich die Tags anders programmieren muss (PWD/PACK für NTAG213 oder 3DES für MF0ICU2), muss es möglich sein, die eine oder andere Methode aufzurufen.Unterscheiden NTAG213 von MF0ICU2
Leider sagt mir das Android-Framework, dass beide Tags MifareUltralight
mit dem Typ TYPE_ULTRALIGHT_C
sind. Die ATQA (0x0044
) und SAK (0x00
) sind ebenfalls identisch.
Andere Anwendungen wie NFC TagInfo by NXP können mir den genauen Typ eines Tags sagen, also weiß ich, dass es einen Weg geben muss.
Leider lief ich immer in eine 'android.nfc.TagLostException: Tag war verloren.', wenn ich einen Befehl übertrage, den das NFC-Tag nicht versteht. Wenn ich also den Befehl GET_VERSION an ein MIFARE Ultralight C übertrage, verliere ich sofort die Verbindung und kann keine weiteren Befehle mehr senden. Weißt du wie ich das lösen kann? – Greeny
@Greeny Sicher, Sie können dies lösen, indem Sie erneut die Verbindung zum Tag ('tag.close()' gefolgt von 'tag.connect()') herstellen, wenn Sie die Ausnahme erhalten. Im Allgemeinen ist es eine gute Idee, nach einem Fehler im Zusammenhang mit Typ-2-Tags immer wieder eine Verbindung herzustellen (selbst nach dem expliziten Empfang einer NACK-Antwort). –