Android поддерживает эмуляцию NFC-карт с помощью защищенного элемента для эмуляции карт вне хоста. (Дополнительную информацию см. в разделе «Обзор эмуляции карт на основе хоста» .) Однако на платформе Android предпочтительный платежный сервис, указанный в настройке «Тапачкай и плати» , не всегда синхронизируется с приложением в защищенном элементе. Это означает, что вместо предпочтительного платежного сервиса в защищенном элементе может использоваться не предпочтительный платежный сервис.
В 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(broadcast action): Уведомляет об изменении предпочтительного способа оплаты.
Валидация
Для проверки правильности реализации функции синхронизации платежей вне хоста установите приложения с защищенными элементами и соответствующими защищенными элементами, а затем проверьте корректность ответов от NFC-считывателя в различных условиях.