Android поддерживает эмуляцию карты NFC с защищенным элементом для эмуляции карты вне хоста. (Дополнительную информацию см. в разделе Обзор эмуляции карты на основе хоста .) Однако на платформе Android предпочтительная платежная служба, указанная в настройке Tap & pay, не всегда синхронизируется с приложением в защищенном элементе. Это означает, что возможно, что вместо предпочтительной платежной службы в защищенном элементе используется непредпочтительная платежная служба.
В Android 11 функция синхронизации платежей вне хоста предоставляет механизм, позволяющий синхронизировать конфигурацию оплаты в Tap & pay, конфигурацию маршрутизации на бесконтактном интерфейсе (CLF) и выбранное приложением состояние в защищенном элементе.
На следующей диаграмме показана архитектура проекта функции синхронизации платежей вне хоста.

Выполнение
Для реализации функции синхронизации платежей вне хоста устройство должно иметь контроллер NFC, поддерживающий стандарт NCI 2.0, и должно использовать фреймворки Android Open Source Project NFC и Open Mobile Application Programming Interface (OMAPI).
API-интерфейсы фреймворка
Для реализации синхронизации платежей вне хоста используйте следующие API-интерфейсы фреймворка, найденные в Android Open Source Project:
-
getAidsForPreferredPaymentService()
: извлекает зарегистрированные AID для предпочитаемой платежной службы. -
getRouteDestinationForPreferredPaymentService()
: извлекает пункт назначения маршрута для предпочитаемой платежной службы. -
getDescriptionForPreferredPaymentService()
: возвращает видимое пользователю описание предпочитаемого платежного сервиса. -
android.permission.NFC_PREFERRED_PAYMENT_INFO
(разрешение): позволяет приложениям получать информацию о предпочитаемом платежном сервисе NFC. -
android.nfc.action.PREFERRED_PAYMENT_CHANGED
(широковещательное действие): намерение уведомить об изменении предпочитаемого платежного сервиса.
Проверка
Чтобы проверить реализацию функции синхронизации платежей вне хоста, установите приложения с защищенными элементами с соответствующими защищенными элементами, а затем проверьте наличие соответствующих ответов от считывателя NFC в различных условиях.