2016-06-25 4 views
0

Ich habe eine Android App, die Mifare Ultralight Karteninhalt liest. Zuvor hatten alle Karten Ultralight in android.nfc.tech und ich verwendete readPages(), um die Daten ohne Probleme zu erhalten.Wie liest man die Kartenseiten des NFC-Typs A?

Jetzt stieß ich auf neue Arten von Karten, die Ultralight in android.nfc.tech nicht haben und ich kann readPages() nicht mehr verwenden. Allerdings finde ich, dass die TagInfo App von NXP Seiten liest. Wie kann ich dasselbe Ergebnis erzielen? Soll ich den Befehl tranceive() verwenden? Welchen Befehl soll ich generieren?

Antwort

0

Sie konnten einen Blick auf MifareUltralight Quelle haben und versuchen, Code für Ihren Tag zu reproduzieren:

public byte[] readPages(int pageOffset) throws IOException { 
    validatePageIndex(pageOffset); 
    checkConnected(); 
    byte[] cmd = { 0x30, (byte) pageOffset}; 
    return transceive(cmd, false); 
} 
+0

@MaratK, ist es sinnvoll? – LaurentY

+0

Ja, es hat funktioniert! Ich habe versucht, dies vorher ohne Glück zu implementieren, nach deinem Vorschlag habe ich versucht, es noch einmal zu versuchen. Wahrscheinlich habe ich vorher einen falschen Datentyp als pageOffset-Parameter verwendet. –