Чтение простых данных в переменную с помощью NFC на Android

Я делаю простое приложение для Android. Основная функция заключается в том, что я хочу прочитать данные из метки NFC. У меня уже есть базовое приложение (немного больше, чем приложение Hello World). Я использую Эклипс. У меня есть запись приложения Android на теге, и приложение успешно запускается при сканировании моего тега. Я просто не знаю, как продолжить. Мне необходимо:

  • В дополнение к AAR в теге должен храниться четырехзначный номер.

  • Когда тег сканируется, откройте приложение и сохраните четырехзначное число в локальной переменной (я думаю, с использованием намерения?).

Приветствуется любая помощь, а также самый простой код, который выполнит свою работу. Это мое первое приложение для Android и первый раз, когда я использую Java.


person user1789259    schedule 11.12.2012    source источник


Ответы (1)


В своей активности запуска вы должны проверить тип намерения, если он такой же, как вы сохранили в теге - getIntent.getType(). Затем вы можете прочитать данные из тега, используя этот код:

Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage msg = (NdefMessage)rawMsgs[0];
NdefRecord cardRecord = msg.getRecords()[0];
String message = new String(cardRecord.getPayload());

Если это число, то вам нужно разобрать его из сообщения. Я надеюсь, это поможет вам.

person Michał Kisiel    schedule 11.12.2012
comment
Спасибо. Так будет ли это включено в функцию onCreate в моей mainActivity, чтобы она запускалась, когда приложение запускается с помощью тега? - person user1789259; 11.12.2012
comment
Нужно ли мне вносить какие-либо изменения в манифест, чтобы это работало? - person user1789259; 12.12.2012
comment
Да, onCreate в основном действии. Вам нужно добавить разрешение nfc в манифест: ‹uses-permission android:name=android.permission.NFC /› developer.android.com/guide/topics/connectivity/nfc/nfc.html - person Michał Kisiel; 12.12.2012