Android NFC-Problem mit APDU-Befehlen

9

Ich arbeite an einer Anwendung, die den IsoDep Tag Tech verwendet, um APDU-Befehle an eine NFC-fähige Karte auszugeben.

UPDATE: Die unten aufgeführten Probleme scheinen also mit den Energieanforderungen der Karten zu vergleichen, die ich verwende. Wenn ich eine andere Karte mit geringerem Stromverbrauch verwende, treten die folgenden Symptome nicht so häufig auf.

Ich habe die Dokumentation explizit befolgt und es gelungen, das Protokoll zu implementieren. Bei gemischtem Erfolg treten jedoch einige Probleme mit den NFC-Bibliotheken niedrigerer Ebenen auf, die über die Kontrolle meines Codes hinausgehen.

Ich habe Folgendes implementiert:

  • Vordergrund-Dispatching eines Pending Absicht.
  • Die Absicht hat einen Tech-Filter für IsoDep.class und Aktion:
    • ACTION_TAG_DISCOVERED
  • Einmal das ich dann Extrahiere das Tag aus der Absicht Extra Geben Sie APDU-Befehle aus und bearbeiten Sie die Antworten

Das Problem ist, dass ich ein paar Dinge bemerkt habe:

Beim Nexus S hängt die Position der Karte von einem erfolgreichen Kommunikationsfluss ab, wenn sie nicht im Sweet Spot ist, erhalte ich eine IOException Wenn ich zu viele IOExceptions bekomme, weil sich die Karte bewegt hat oder nicht im RF-Feld geblieben ist, sehe ich die folgenden Ausnahmen (siehe unten) Ich habe mich gefragt, ob jemand anderes diese Probleme gesehen hat? In meiner onResume-Methode habe ich keine Logik, um mehrere Aufrufe an die NFCAdapter-Instanz der Methode zu verhindern: enableForegroundDispatch, sollte ich dies tun.

Vielen Dank im Voraus für jede Hilfe.

Beispiel Ausnahme 1

%Vor%

Beispiel Ausnahme 2

%Vor%

Sampleple Ausnahme 3

%Vor%     
chavez 21.06.2011, 22:30
quelle

1 Antwort

4

Damit ich weiß, was das verursacht, hatten einige der RFID-Tags, die ich lesen wollte, einen höheren Stromverbrauch, als das Telefon es konnte. Das ärgerliche Ding war / ist das Telefon umfällt, wenn es zu lange in einem schlechten Platz kommt ...

    
chavez 11.07.2011, 14:43
quelle

Tags und Links