Kann ein Android-NFC-Telefon als NFC-Tag fungieren?

Lesezeit: 6 Minuten

Benutzer-Avatar
Joshua Partogi

Nach dem, was ich bisher verstanden habe, fungiert ein NFC-Telefon als NFC-Lesegerät, das Daten von einem NFC-Tag liest. Nun meine Frage, können wir das umstellen? Können wir ein Android-NFC-Telefon dazu bringen, sich wie das Tag zu verhalten, von dem ein NFC-Lesegerät Daten erhält?

Danke für deine Hilfe.

Zu diesem Zeitpunkt würde ich mit „nein“ oder „mit Schwierigkeiten“ antworten, aber das könnte sich im Laufe der Zeit ändern, wenn sich die Android-NFC-API weiterentwickelt.

Es gibt drei Modi der NFC-Interaktion:

  1. Reader-Writer: Das Telefon liest Tags und schreibt darauf. Es emuliert keine Karte, sondern ein NFC-Lese-/Schreibgerät. Daher können Sie in diesem Modus kein Tag emulieren.

  2. Peer-to-Peer: Das Telefon kann ndef-Nachrichten lesen und zurücksenden. Wenn das Tag-Lesegerät den Peer-to-Peer-Modus unterstützt, könnte das Telefon möglicherweise als Tag fungieren. Ich bin mir jedoch nicht sicher, ob Android sein eigenes Protokoll zusätzlich zum LLCP-Protokoll (NFC Logical Link Protocol) verwendet, was die meisten Leser daran hindern würde, das Telefon als NFC-Tag zu behandeln.

  3. Kartenemulationsmodus: Das Telefon verwendet ein sicheres Element, um eine Smartcard oder ein anderes kontaktloses Gerät zu emulieren. Ich bin mir nicht sicher, ob dies noch gestartet wird, könnte aber vielversprechend sein. Die Verwendung des sicheren Elements erfordert jedoch möglicherweise, dass der Hardwareanbieter oder eine andere Person Ihre App verifiziert / ihr Berechtigungen für den Zugriff auf das sichere Element erteilt. Es ist nicht so einfach wie das Erstellen einer regulären NFC-Android-App.

Weitere Details hier:
http://www.mail-archive.com/[email protected]/msg152222.html

Eine echte Frage wäre: Warum versuchen Sie, ein einfaches altes NFC-Tag zu emulieren? Gibt es eine Anwendung, an die ich nicht denke? Normalerweise möchten Sie so etwas wie eine Transitkarte, einen Zugangsschlüssel oder eine Kreditkarte emulieren, die ein sicheres Element erfordern würden (glaube ich, bin mir aber nicht sicher).

  • OK. Google hat heute google.com/wallet angekündigt. Würde das Telefon in diesem Szenario nicht als Tag fungieren?

    – Joshua Partogi

    27. Mai 2011 um 4:29 Uhr

  • Wie @erich-douglass oben betonte: nicht unbedingt. Wenn das Leseterminal ein Peer-to-Peer-Terminal ist, müsste es nicht als Tag fungieren.

    – denbec

    27. September 2011 um 13:50 Uhr

  • Wie oben beschrieben, können Sie mit NDEF-Push und Peer-to-Peer-Unterstützung in Android 2.3+ vom Telefon aus auf ein Lesegerät schreiben, aber Sie müssen sicherstellen, dass der Code des Lesegeräts Peer-to-Peer ist. (muss ein Telefon sein, das einen NFC-Chip hat, z. B. Galaxy Nexus, Nexus S.)

    – gamozzi

    31. Januar 2012 um 13:12 Uhr

  • Das Problem ist, dass derzeit die meisten NFC-Kartenleser von passiven Tags ausgehen. Es ist viel komplexer, aktiven LLCP-Austausch zu unterstützen und natürlich immer noch passives Kartenlesen zu unterstützen. Es ist möglich, aber ich habe noch nichts von einer Zahlungsoption gehört, die mit LLCP implementiert wurde …

    – AerandiR

    17. März 2012 um 8:42 Uhr


  • Das ist veraltet. Android 4.4 verfügt über eine Host-basierte Kartenemulation, die genau dies ermöglicht: developer.android.com/guide/topics/connectivity/nfc/hce.html

    – Trevor Johns

    26. Januar 2014 um 18:42 Uhr

Können wir ein Android-NFC als Tag erstellen, von dem ein NFC-Lesegerät Daten erhält?

Das Nexus S unterstützt Peer-To-Peer Modus, der, wie der Name schon sagt, bewirkt, dass ein Telefon als Tag fungiert, den ein anderes Telefon lesen kann. Es war eine wirklich gute Google I/O-Sitzung auf NFC in diesem Jahr. Ich würde empfehlen, es anzuschauen, wenn Sie überhaupt an NFC interessiert sind.

  • Vielen Dank. Das macht es mir klar. Aber kann ein NFC-Lesegerät vom Telefon lesen?

    – Joshua Partogi

    26. Mai 2011 um 13:01 Uhr


  • @jpartogi Ich bin mir nicht ganz sicher, aber ich denke, der Leser müsste den Peer-to-Peer-Modus explizit unterstützen, damit er funktioniert.

    – Erich Douglas

    26. Mai 2011 um 13:56 Uhr

  • Peer-to-Peer-Modus ist, wenn BEIDE Telefone oder Geräte als Lesegeräte fungieren. Informationen werden nicht so sehr gelesen, sondern hin und her geschoben (geschrieben).

    – Ben Ward

    20. Dezember 2011 um 21:46 Uhr

  • @ErichDouglass der Videolink funktioniert nicht, ich denke das ist der, den du gemeint hast youtube.com/watch?v=49L7z3rxz4Q

    – Ahmed Hegazy

    13. Januar 2021 um 10:59 Uhr

Überprüfen Sie den in Android 4.4 verfügbaren Host-based Card Emulation (HCE) NFC-Modus.

API-Leitfaden: https://developer.android.com/guide/topics/connectivity/nfc/hce.html

Ja, du kannst. Android Kitkat verstärkt diese Funktionalität hier

Es ist möglich damit sich das Android-Gerät wie ein NFC-Tag verhält. Ein solches Verhalten nennt man Kartenemulation.

  • Die Kartenemulation kann Host-basiert (HCE) oder Secure-Element-basiert (CE) sein.
  • In HCE antwortet eine Anwendung, die auf dem Android-Hauptprozessor läuft, auf das Lesegerät. Das Telefon muss also eingeschaltet sein.
  • In CE antwortet ein Applet, das sich im Secure-Element befindet, auf den Leser. Hier reicht es aus, den NFC-Controller mit Strom zu versorgen, während der Rest des Geräts ausgesetzt ist.
  • Einer dieser oder beide Ansätze können gleichzeitig aktiv sein.
    Eine Routing-Tabelle weist den NFC-Controller an, wohin die Befehle des Lesegeräts geleitet werden.

  • Können Sie einige Referenzen oder Anwendungsfälle angeben?

    – AbhinayMe

    15. November 2019 um 2:31 Uhr

  • Gibt es dafür bekannte Android-Apps? Um eine Zugangskarte zu lesen und sie dann vom Telefon selbst zu emulieren?

    – nl-x

    10. Juni um 11:04 Uhr


Lies hier: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9?pli=1

Ich habe das nicht selbst verifiziert, aber es sieht so aus, als ob es den Leuten gelungen ist, den versteckten Code wieder in Android einzufügen. Sie scheinen in der Lage zu sein, eine Mifare Classic-Karte (iso-14443) zu emulieren. Das werde ich demnächst selbst testen, sieht sehr interessant aus.

Wenn Sie dies für eine kommerzielle/kostenlose App tun möchten, werden Sie es schwer haben, Ihre Benutzer werden ihren Kernel nicht gerne ändern, um Ihre App zu unterstützen.

Update: Es gäbe einen einfachen Trick, um Ihr Telefon dazu zu bringen, ein Ticket zu emulieren:
Sie können einen NFC-Sticker erhalten und ihn in oder auf das Telefon stecken. Auf diese Weise können Sie es jederzeit lesen und schreiben und andere Geräte können es auch lesen und schreiben.
Es ist nur eine Idee, die ich hatte, natürlich noch nie gesehen, dass sie irgendwo verwendet wurde;)

  • Können Sie einige Referenzen oder Anwendungsfälle angeben?

    – AbhinayMe

    15. November 2019 um 2:31 Uhr

  • Gibt es dafür bekannte Android-Apps? Um eine Zugangskarte zu lesen und sie dann vom Telefon selbst zu emulieren?

    – nl-x

    10. Juni um 11:04 Uhr


Benutzer-Avatar
Sven Haiges

Ja, werfen Sie einen Blick auf NDEF Push in NFCManager – mit Android 4 können Sie jetzt sogar die NDEFMessage erstellen, um sie zum Zeitpunkt der Interaktion an das aktive Gerät zu senden.

  • Das ist der P2P-Modus, nicht wahr? Nicht vom NFC-Forum vorgeschriebene Tag-Emulation.

    – STeN

    26. Juli 2012 um 12:15 Uhr

1329520cookie-checkKann ein Android-NFC-Telefon als NFC-Tag fungieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy