NFC Peer 2 Der Peer-Modus ist nicht das Gleiche wie der NFC-Kartenleser-Modus.
Wenn Sie Daten zwischen zwei Android-App senden möchten, benötigen Sie Android Beam, um im Peer 2 Peer-Modus zu arbeiten.
Starten Sie von hier, um etwas über LLCP
and SNEP
protocols zu lesen.
Grundsätzlich müssen Sie NDEFMessage
von einem Gerät zum anderen senden mit Android Callback-Methoden.
Um einen NDEFMessage
mit Android Beam senden müssen Sie diese beiden Schnittstellen implementieren:
CreateNdefMessageCallback
OnNdefPushCompleteCallback
In createNdefMessage()
Methode, die Sie erstellen müssen und das Rück ein NDEFMessage
(here Sie eine Beschreibung finden) zu senden.
In onNdefPushComplete()
Methode können Sie etwas tun auf NDEFMessage
Senden abgeschlossen.
Sie müssen herausfinden, welches Gerät als Initiator fungiert, dann sollten Sie in createNdefMessage()
eine NDEFMessage zurücksenden, um sie an das andere Gerät zu senden.
Auf dem empfangenden Gerät (in NFC namens Target-Gerät) sollten Sie NDEFMessage
in Activity.onNewIntent(Intent intent)
erhalten und das verwalten.
Danach können Sie das gleiche auf der anderen Seite tun.
Theoretisch mit SNEP-Protokoll sollten Sie SNEP GET-Anforderungen senden können, aber auf Android wurde diese Funktionalität deaktiviert. Hier können Sie eine Diskussion lesen über Android SNEP implementation
Denken Sie daran, dass Sie einen IntentFilter in yout manifest.xml definieren müssen, um anzugeben, welche NDEFMessage Ihre Aktivität "abfangen" muss, um eine NDEFMessage empfangen zu können.Dies ist ein Beispiel AndroidApplicationRecord NDEFMessage zu fangen:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/com.example.android.beam" />
</intent-filter>
prüfen diese Android Beam Example
Hoffnung, die
haben Sie gelöst in gleicher Weise hilft? – firegloves
Was meinst du ??, ich habe es nicht gelöst. Jetzt kann ich nur in eine Richtung senden (durch Lesen der emulierten Karte). – Han
Ich wüsste von dir habe versucht und eine lösung mit apdu-befehlen gefunden, wenn also lass mich bitte wissen – firegloves