Beam me over!

Android 4 NFC: ein Update

Sven Haiges

Wie man hier auch sehen kann, ist android.nfc.NDEFMessage lediglich ein Container für NDEFRecords, die die eigentliche Information enthalten. Die Methode getURI sollte typischerweise dynamisch auf Basis des Zustands der Aktivität einen URI erstellen, denn ansonsten könnte – einfacher – die Methode setNdefPushMessage aufgerufen werden. Wenn Sie über den erfolgreichen Versand einer Push-Message informiert werden wollen, kann zudem noch per Methode setOnNdefPushCompleteCallback des NfcAdapter ein weiterer Callback registriert werden.

Convenience-Methoden

Dem aufmerksamen Leser ist aufgefallen, dass die Klasse NdefRecord nun drei statische Methoden zur Erzeugung von NdefRecords enthält:

  • creatUri(String uriString)
  • createUri(Uri uri)
  • createApplicationRecord(String packageName)

Die Erzeugung von NdefRecords gehörte zu den komplizierteren Aufgaben unter Android 2.3. Hier gibt es mehrere Konzepte des NDEF-Formats zu beachten, um letztlich kompatible NdefRecords zu erzeugen. Daher ist es eine großartige Neuerung, wenn nun zumindest NdefRecords vom Typ URI sehr einfach dank der beiden ersten Methoden erstellt werden können. Für die Zukunft erwarte ich hier weitere Helper-Methoden, beispielsweise für die Erzeugung von Text-Messages oder MIME Records (hiermit können beliebige Daten, z. B. mit MIME-type application/json kurze JSON-Dokumente übertragen werden).

Application Records

Neu in ICS sind nun auch die Application Records. Dies sind spezielle NdefRecords, die unter Android ICS (wohlgemerkt: dies funktioniert unter Android!) dafür sorgen, dass die NdefMessage nur an die im Record vermerkte App (mittels Package-Namen) zugestellt wird. Dies stellt zum einen sicher, dass keine andere App unberechtigt die Message erhält (im NFC Foreground Mode kann eine App jedoch weiterhin alle Tags lesen). Zum anderen hat es den Vorteil, dass ICS nun automatisch Google Play öffnet und die passende App anzeigt. Der Empfänger der Nachricht kann somit sehr einfach die passende App installieren, und ein weiterer Empfang der Nachricht löst dann die gewünschte Aktion per Touch-to-Beam aus. Somit ist das Problem, dass ein Empfänger der NdefMessage diese eventuell nicht verarbeiten kann, gelöst.

Fazit

Die Neuerungen in ICS bezüglich NFC sind überschaubar, tragen aber bedeutend zur einfachen Nutzung der Technologie bei. Android Beam ist ein für Nutzer sehr leicht verständliches Konzept. Hat man dieses Feature einmal ausprobiert, beispielsweise um einen Kontakt an einen Freund zu beamen, wird man es sicher zu schätzen wissen. Die Android Application Records sind eine geniale Idee, da dadurch Apps aus Google Play sehr einfach installiert werden können. Zudem stellen diese Records sicher, dass NDEF-Nachrichten eben nur die gewünschten Applikationen erreichen.

Sven Haiges arbeitet als Technology Strategist bei der Hybris GmbH in München. Neben Groovy & Grails beschäftigt er sich dort derzeit auch mit HTML5 und Android. Sven lebt mit seiner Familie in München. Ihm kann gerne unter @hansamann auf Twitter gefolgt werden.
Geschrieben von
Sven Haiges
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.