Пример реализации работы с NFC в Android

Привет! У нас тут возникла задачка на работе, о решении которой я хотел бы с вами поделиться :-)

В общем, у нас есть внутрикорпоративное приложение с 3 кнопками (пришел, ушел на обед, ушел домой), которое внутри нашей электронной системы отмечает нас. Его написал мой напарник. Моя задача состояла в том, чтобы облегчить жизнь людям и запилить работу этого приложения с NFC-меткой.

Сперва, конечно, читаем доку.

У нас для такой цели была гордо выдана карточка московского метро 2013 года выпуска. Как потом оказалось, это карта типа Mifare Ultralight. Ну да ладно, читать её проще, чем Classic, а для идентификации просто строку байт будем использовать.

Добавим волшебные строчки с разрешениями в AndroidManifest.xml

Для активити, в которой у нас будет обрабатываться Intent с NFC, пропишем intent-filter и meta-data

В ресурсе nfc_tech_filter.xml укажем, с какого типа картой NFC будем работать

Теперь открываем Activity. Вот отрывок из моего onCreate-метода (тут важное замечание, вся работа с NFC описывается только в Activity)

Соответственно, напишем метод handleIntent, куда будем передавать наш NFC-шный интент :-)

Собственно, там я написал уже обработчик, который просто сравнивал массивы данных и делал свою работу.

Всё просто! :-)

9N9ke2GG5X8

Теперь отмечаемся вот такой штуковиной.