Android work with nfc

Как подключить и настроить NFC на Андроиде

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

Что такое NFC на Андроиде?

NFC (с англ. Near Field Communication) — технология передачи данных между устройствами на близком расстоянии. Работа функции основывается на встроенном специальном чипе в обоих устройствах, позволяющем принять сигнал с данными. К примеру, пользователь может отправлять мультимедийные файлы со смартфона на умные часы, или с фотоаппарата на смартфон.

Технология NFC также объединяет приложения и способы оплаты, сохраненные на каждом устройстве. Для совершения покупок при помощи смартфона достаточно выполнить базовые действия:

  • Настроить оплату в специальном приложении;
  • Подключить внешний модуль или активировать NFC внутри телефона;
  • Поднести смартфон к терминалу и дождаться завершения платежа.

Данные для оплаты можно сохранить сразу на нескольких устройствах. Для этого следует скачать приложение с пометкой Pay на Плэй Маркет или App Store на все гаджеты со встроенным чипом NFC и добавить в него банковскую или виртуальную карту, с которой при каждой покупке будут списываться средства.

Данная опция очень удобна в семейном кругу, где все члены семьи используют одну карту для оплаты. Также пользователю больше не нужно беспокоиться о том, что он может забыть кошелек дома. Платежные средства всегда будут у него под рукой.

Приложения для бесконтактной оплаты имеют определенные системные требования. На ОС Андроид наиболее популярным является Google Pay. Он подходит для телефонов от разных производителей. Для его активации необходимы такие параметры смартфона:

  • Встроенный модуль NFC;
  • ОС Андроид версии 4.4. и выше;
  • Официальная прошивка;
  • Заблокированный загрузчик;
  • Отсутствие активных root-прав;
  • Сертификация телефона от Гугл.

Если NFC можно подключить извне, то программы для Android не будут работать на кастомной прошивке или нелицензированном смартфоне. Любителям расширенных настроек также придется от них отказаться в пользу бесконтактных платежей.

Можно ли установить модуль NFC на телефон?

Последние модели смартфонов чаще всего оснащены встроенным модулем NFC. Однако что делать тем, у кого старые версии телефонов?

В интернет-магазинах и салонах мобильной связи можно купить NFC модуль для смартфона в нескольких видах:

Внешние модули подходят для смартфонов, фотоаппаратов и умных часов. Они работают наравне со стандартным встроенным чипом и также могут передавать данные между устройствами.

Как встроить чип в устройство? Все очень просто: сим-карта или метка вставляются в обычный слот для SIM и карт памяти. Антенна NFC аккуратно прикрепляется к действующей сим-карте и остается вместе с ней внутри корпуса.

NFC антенну нельзя подключить смартфонам с боковым отверстием для сим-карт или несъемной задней крышкой.

Самый простой способ — обратиться к оператору сотовой связи и попросить замену обычной симки на карту со встроенным чипом. Однако следует учесть пару нюансов:

  • Замена сим-карты может повлечь смену номера телефона;
  • К симке следует привязать банковский счет;
  • Выбор банка остается за оператором.

После установки сим-карты NFC пользователь может совершать платежи с помощью смартфона. Сумма покупки будет списываться с банковского счета, прикрепленного к симке. После каждой транзакции на телефон будет приходить смс-уведомление от банка с указанным платежом.

Ещё один способ — приклеивание стикера со встроенным чипом NFC на корпус устройства. Каждый стикер имеет уникальный идентификационный номер и сертификацию.

Чтобы воспользоваться модулем, достаточно открыть заднюю крышку смартфона и прикрепить стикер к устройству. Далее на телефон нужно установить приложение NFC Tools, позволяющее настроить внешний модуль и осуществлять оплату.

Как включить NFC на Андроид?

Настроить NFC на Андроиде с готовым встроенным чипом гораздо проще. На всех смартфонах данной операционной системы настройка проходит одинаково.

Для активации NFC нужно открыть стандартные настройки телефона и перейти в раздел «Ещё». Его можно найти сразу в основном меню или вкладке «Беспроводные соединения».

Читайте также:  Гармин стрит пилот для андроид

В этом разделе находится опция бесконтактной оплаты. Напротив нее следует поставить галочку для активации или подвинуть флажок вправо (в зависимости от модели смартфона).

Также стоит обратить внимание на функцию Android Beam. Она тоже должна быть активной для отправки данных на другое устройство.

Во вкладке «Бесконтактная оплата» следует выбрать приложение, через которое по умолчанию будет проводиться платеж.

Если у пользователя нет подобных настроек в смартфоне, его модель не поддерживает передачу данных через NFC.

Как подключить платежное средство?

После успешной активации службы NFC следует загрузить приложение для бесконтактной оплаты. На Андроид чаще всего устанавливают Google Pay, так как к нему можно присоединить несколько карт от разных банков для оплаты. Некоторые пользователи любят приложения от конкретных банков, такие как Яндекс.Деньги. Владельцы Самсунг предпочитают Samsung Pay, поскольку данное приложение оптимизировано под их смартфоны.

Чтобы узнать, как платить через NFC с телефона Android, достаточно выполнить пару действий:

  1. Скачать приложение из Google Play;
  2. Добавить банковскую карту для оплаты;
  3. Поставить блокировку экрана для защиты данных.

Рассмотрим действия подробно на примере Google Pay.

Как загрузить Android Pay на телефон? Для этого следует открыть Плэй Маркет и ввести название программы в поиске. Среди предложенных вариантов выбрать нужный и нажать кнопку «Установить».

Приложение загрузится в течение пары минут. После этого следует нажать кнопку «Открыть».

Программа запросит доступ к местоположению и данные от аккаунта Google. Затем попросит добавить банковскую карту в качестве основного платежного средства. Система принимает карты Visa, Mastercard или Maestro. Пользователю нужно внести:

  • Номер карты;
  • Окончание срока действия;
  • CVC код с оборотной стороны карты.

Далее следует указать номер телефона для подтверждения данных. На него придет смс с одноразовым паролем, который нужно указать в приложении.

После этого нужно активировать пользовательскую блокировку экрана. Поскольку приложение содержит конфиденциальные данные, оно требует дополнительную защиту от злоумышленников.

Для активации пароля следует открыть настройки смартфона и перейти в раздел «Экран блокировки». Здесь пользователь может выбрать графический ключ, отпечаток пальца, пин-код или Face ID для разблокировки.

После установки блокировки следует вновь открыть Google Pay. На экране появится основная страница с добавленной картой.

Если у владельца смартфона по каким-то причинам нет пластиковой карты, он может использовать виртуальную для бесконтактных платежей. Её можно открыть в любом приложении банка онлайн.

Эмуляция карты имеет те же данные, что и обычная пластиковая карта. Ее единственное отличие в том, что расплачиваться ею можно только через интернет-приложения.

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

Чтобы узнать, как добавить виртуальную карту, достаточно перейти в раздел «Оплата» и нажать на вкладку «Способ оплаты». Данные карты необходимо будет ввести вручную.

В Google Pay также есть раздел «Карты», куда можно добавить проездные билеты, карты лояльности и подарочные сертификаты. Этот раздел особенно полезен тем, кто осуществляет оплату метро телефоном NFC.

Практически у каждого жителя Москвы и Московской области есть персональный проездной. Карта Тройка на NFC Android легко прикрепляется через раздел «Карты» в Google Pay. После чего ее можно автоматически пополнять через приложение и использовать в любом общественном транспорте при помощи смартфона.

Как отключить карту от системы?

Чтобы деактивировать карту в Google Pay или любом другом приложении, достаточно открыть раздел «Оплата» и выбрать нужную карту. В правом верхнем углу будет значок, при нажатии на который появится опция «Отключить бесконтактную оплату». Через опцию также можно полностью удалить карту из системы.

Приложение или NFC не работает — что делать?

Если в работе NFC Android произошел сбой, либо приложение перестало реагировать на бесконтактную оплату, рекомендуется обратиться в службу поддержки.

На официальном сайте Google Pay есть раздел «Справка и поддержка», где находятся стандартные вопросы пользователей:

  • NFC и оплата что за функция?
  • Как встроить модуль NFC в устройство?
  • Как активировать карту в приложении?
  • Что обозначает ошибка при оплате?

В поле «Опишите проблему» следует ввести подходящий запрос и найти вариант ответа. Либо заполнить форму обращения на сайте с подробным описанием проблемы.

NFC на Андроид позволяет обмениваться данными между устройствами и проводить бесконтактную оплату. На многих смартфонах есть встроенный чип NFC. На гаджет можно установить внешний модуль, который будет работать наравне со стандартным чипом. Чтобы оплачивать покупки с помощью смартфона, достаточно иметь активный модуль NFС и приложение для бесконтактной оплаты с привязанной банковской картой.

Читайте также:  Как уменьшить шрифт сообщений андроид

Источник

Reading NFC Tags With Android

Are you curious about what NFC is and how it can be integrated into your own Android applications? This tutorial will quickly introduce you to the topic before diving in and teaching you how to build a simple NFC reader app!

What is NFC?

NFC is the abbreviation for Near Field Communication. It is the international standard for contactless exchange of data. In contrast to a large range of other technologies, such as wireless LAN and Bluetooth, the maximum distance of two devices is 10cm. The development of the standard started in 2002 by NXP Semiconductors and Sony. The NFC Forum, a consortium of over 170 companies and members, which included Mastercard, NXP, Nokia, Samsung, Intel, and Google, has been designing new specifications since 2004.

There are various possibilities for NFC use with mobile devices; for example, paperless tickets, access controls, cashless payments, and car keys. With the help of NFC tags you can control your phone and change settings. Data can be exchanged simply by holding two devices next to each other.

In this tutorial I want to explain how to implement NFC with the Android SDK, which pitfalls exist, and what to keep in mind. We will create an app step by step, which can read the content of NFC tags supporting NDEF.

NFC Technologies

There are a variety of NFC tags that can be read with a smartphone. The spectrum ranges from simple stickers and key rings to complex cards with integrated cryptographic hardware. Tags also differ in their chip technology. The most important is NDEF, which is supported by most tags. In addidition, Mifare should be mentioned as it is the most used contactless chip technology worldwide. Some tags can be read and written, while others are read-only or encrypted.

Only the NFC Data Exchange Format (NDEF) is discussed in this tutorial.

Adding NFC Support in an App

We start with a new project and a blank activity. It is important to select a minimum SDK version of level 10, because NFC is only supported after Android 2.3.3. Remember to choose your own package name. I’ve chosen net.vrallev.android.nfc.demo, because vrallev.net is the domain of my website and the other part refers to the topic of this application.

The default layout generated by Eclipse is almost sufficient for us. I’ve only added an ID to the TextView and changed the text.

To get access to the NFC hardware, you have to apply for permission in the manifest. If the app won’t work without NFC, you can specify the condition with the uses-feature tag. If NFC is required, the app can’t be installed on devices without it and Google Play will only display your app to users who own a NFC device.

The MainActivity should only consist of the onCreate() method. You can interact with the hardware via the NfcAdapter class. It is important to find out whether the NfcAdapter is null. In this case, the Android device does not support NFC.

If we start our app now, we can see the text whether NFC is enabled or disabled.

How to Filter for NFC Tags

We have our sample app and want to receive a notification from the system when we attach an NFC tag to the device. As usual, Android uses its Intent system to deliver tags to the apps. If multiple apps can handle the Intent, the activity chooser gets displayed and the user can decide which app will be opened. Opening URLs or sharing information is handled the same way.

NFC Intent Filter

There are three different filters for tags:

  1. ACTION_NDEF_DISCOVERED
  2. ACTION_TECH_DISCOVERED
  3. ACTION_TAG_DISCOVERED

The list is sorted from the highest to the lowest priority.

Читайте также:  Nextcloud android доступ через недоверенный домен

Now what happens when a tag is attached to the smartphone? If the system detects a tag with NDEF support, an Intent is triggered. An ACTION_TECH_DISCOVERED Intent is triggered if no Activity from any app is registered for the NDEF Intent or if the tag does not support NDEF. If again no app is found for the Intent or the chip technology could not be detected, then a ACTION_TAG_DISCOVERED Intent is fired. The following graphic shows the process:

In summary this means that each app needs to filter after the Intent with the highest priority. In our case, this is the NDEF Intent. We implement the ACTION_TECH_DISCOVERED Intent first to highlight the difference between priorities.

Tech Discovered Intent

We must specify the technology we are interested in. For this purpose, we create a subfolder called xml in the res folder. In this folder we create the file nfc_tech_filter.xml, in which we specify the technologies.

Now we must create an IntentFilter in the manifest, and the app will be started when we attach a tag.

If no other app is registered for this Intent, our Activity will start immediately. On my device, however, other apps are installed, so the activity chooser gets displayed.

NDEF Discovered Intent

As I mentioned before, the Tech Discovered Intent has the second highest priority. However, since our app will support only NDEF, we can use the NDEF Discovered Intent instead, which has a higher priority. We can delete the technology list again and replace the IntentFilter with the following one.

When we attach the tag now, the app will be started like before. There is a difference for me, however. The activity chooser does not appear and the app starts immediately, because the NDEF Intent has a higher priority and the other apps only registered for the lower priorities. That’s exactly what we want.

Foreground Dispatch

Note that one problem remains. When our app is already opened and we attach the tag again, the app is opened a second time instead of delivering the tag directly. This is not our intended behavior. You can bypass the problem by using a Foreground Dispatch.

Instead of the system having distributed the Intent, you can register your Activity to receive the tag directly. This is important for a particular workflow, where it makes no sense to open another app.

I’ve inserted the explanations at the appropriate places in the code.

Now, when you attach a tag and our app is already opened, onNewIntent is called and no new Activity is created.

Reading Data From an NDEF Tag

The last step is to read the data from the tag. The explanations are inserted at the appropriate places in the code once again. The NdefReaderTask is a private inner class.

The app now successfully reads the content.

Useful Apps

To check whether data is read and written properly, I personally like to use following apps:

  • NFC TagInfo by NFC Research Lab for reading data
  • TagInfo by NXP SEMICONDUCTORS for reading data
  • TagWriter by NXP SEMICONDUCTORS for writing data

Conclusion

In this tutorial I have shown you how the data from a NDEF tag can be extracted. You could expand the example to other mime types and chip technologies; a feature to write data would be useful as well. The first step to work with NFC was made. However, the Android SDK offers much more possibilities, such as an easy exchange of data (called Android Beam).

If you want to take your Android development further, check out the huge range of useful Android app templates on Envato Market. Or hire an Android developer on Envato Studio.

About the Author

Ralf Wondratschek is a computer science student from Germany. In addition to his studies, Ralf works as a freelancer in the field of mobile computing. In the last few years he has worked with Java, XML, HTML, JSP, JSF, Eclipse, Google App Engine, and of course Android. He has published two Android apps to date which can be found here.

Источник

Оцените статью