AAR Rekord in NFC: Wo ist die Nutzlast?

8

Nach dieser Antwort und validiert durch Testen, wenn Sie Android Beam verwenden, um eine NFC-Nachricht mit einem Push zu übertragen AAR-Datensatz, das empfangende Gerät startet die Aktivität MAIN / LAUNCHER für die in der AAR angegebene App.

Das MAIN / LAUNCHER Intent enthält nicht das NfcAdapter.EXTRA_NDEF_MESSAGES extra. Daher scheinen die Daten, die wir durch all die Schwierigkeiten zu beamen hatten, verloren gegangen zu sein, wenn Sie AAR verwenden.

Gibt es eine Möglichkeit, die NFC-Nachrichten, die die App ausgelöst haben, in diesem Szenario zu starten?

Und wenn die Antwort "nein" ist, was ist der Anwendungsfall von AAR? Ich kann sehen, wo es hilfreich sein könnte, wenn die gewünschte App auf dem empfangenden Gerät nicht vorhanden ist (Play Store wird geöffnet), aber sobald die App installiert ist, vereitelt AAR jeden Versuch, Daten von einem Gerät an das andere zu übermitteln irgendwie der Punkt hinter NFC.

Danke!

    
CommonsWare 04.06.2012, 19:40
quelle

2 Antworten

7

Auf die Gefahr hin, meine eigene Frage zu beantworten, ist ein Rezept dafür, dass dies (anscheinend) funktioniert:

  • Lassen Sie den Strahlsender eine NFC-Nachricht mit zwei NFC-Datensätzen verwenden. Der erste enthält etwas für einen eindeutigen MIME-Typ, der zweite ist der AAR

  • Lassen Sie den Balkenempfänger eine <intent-filter> für die Aktivität haben, die auf den ersten NFC-Datensatz antwortet, z. B. via:

    %Vor%

Wenn die App bereits existiert, wird die NDEF_DISCOVERED Intent verwendet, und der Empfänger kann die NFC-Nachricht übernehmen und die Daten aus dem ursprünglichen Datensatz herausziehen. Wenn die App nicht vorhanden ist, wird der AAR aktiviert, wodurch der Play Store aufgerufen wird (unabhängig davon, ob Ihre App über den Play Store verteilt wird oder nicht).

Dies ist das gezeigte Rezept im Android Beam-Beispiel auf der Entwicklerseite .

    
CommonsWare 05.06.2012, 12:50
quelle
0

Aus einem Blick auf die Dokumentation scheint der Anwendungsfall zu garantieren, dass Ihre Anwendung vom NFC-Ereignis aus gestartet wird. Ein zweiter Anwendungsfall würde dem Telefon im Prinzip eine Möglichkeit geben, zu wissen, welche App es benötigt, um ein Tag zu lesen.

Ein paar Fragen Wenn Sie zwei Datensätze verwenden: erstens normal, zweitens AAR, wie wird die Aktivität gestartet? Ich würde erwarten, dass Sie über die Tagversandabsicht gestartet werden. Enthält die AAR-Absicht etwas, das Sie zum Tag bringt? Ich denke du könntest Manua

    
MrChaz 04.06.2012 21:16
quelle