2016-04-06 2 views
0

Ich habe eine Android-Anwendung entwickelt, um Mifare-Karten mit einem NFC-Leser zu lesen. Es gibt kein Problem damit. Anwendung funktioniert gut. Liest und zeigt ID-Wert von Mifare-KarteVerschiedene ID-Werte für NfcA Typ Mifare-Karte

ich ein Kartenlesegerät an meinen PC angeschlossen haben auch (Tastatur emuliert)

Aber Kartenleser und App-Anzeige verschiedene IDs Kartenleser sagt: 0992194657 app sagt: 61B0233B

gibt es irgendeine Umwandlung oder etwas?

+2

Wenn Sie 0992194567 zu hex konvertieren, erhalten Sie 0x3B23B061. Sie können den Wert Ihrer App finden, indem Sie einige Bytes austauschen. Si ich denke, Sie müssen die richtige Reihenfolge der Bytes herausfinden. – corvairjo

+0

Mögliches Duplikat von [RFID-Algorithmus zum Abrufen der Karten-ID] (http://stackoverflow.com/questions/29798566/rfid-algorithm-to-get-card-id) –

Antwort

0

Sie sollten Bytes Arrays wie folgt in Hex String konvertieren.

public static String bytesToHex(byte[] bytes) { 
    char[] hexChars = new char[bytes.length * 2]; 
    for (int j = 0; j < bytes.length; j++) { 
     int v = bytes[j] & 0xFF; 
     hexChars[j * 2] = hexArray[v >>> 4]; 
     hexChars[j * 2 + 1] = hexArray[v & 0x0F]; 
    } 
    return new String(hexChars); 
} 

dann

Tag mTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);; 
bytesToHex(mTag.getId()) 

Kolay gelsin nennen :)

Verwandte Themen