2016-04-15 3 views
1

У меня возникла странная проблема в моих платежах HCE. У меня есть два приложения для платежей на мобильном устройстве. Один из них был разработан мной, а другой - Android. В Tap & Оплатите по умолчанию «Android Pay», и мое приложение не по умолчанию и включено «Использовать приложение для планшетов».Преимущество приложения foreground не работает для платежей HCE Android

Теперь моя проблема в том, когда я пытаюсь сделать платежи (коснитесь устройства в POS), устройство всегда запрашивает «Android Pay» вместо моего приложения.

Я придерживался всех рекомендаций, приведенных в документации для Android.

Android HCE guide

мне нужно включить что-нибудь в своем коде, чтобы это произошло ли?

ответ

4

Чтобы использовать преимущество «Приоритет переднего плана», вы должны сообщить CardEmulation, что ваше приложение готово перехватить терминал. По умолчанию ваше приложение не будет перехватывать кран.

В нашем приложении, я делаю это в OnPause() и onResume() в каждой деятельности (или вы можете расширить общую активность и просто сделать это один раз.

в onResume() вызов public boolean setPreferredService (Activity activity, ComponentName service)

в onPause(), звоните public boolean unsetPreferredService (Activity activity)

+1

Спасибо Сэм, вы спасли мой день :) –