Установить сервис оплаты по умолчанию для приложения

Давайте подумаем о случае, когда пользователь установил несколько приложений, поддерживающих платежи NFC HCE. Эти службы приложений видны в настройках NFC Tap and Pay.

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

CardEmulation, похоже, имеет только API для запроса, если служба для категории используется по умолчанию.

Спасибо.


person Niko    schedule 11.06.2014    source источник


Ответы (1)


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

Однако вы можете попросить пользователя установить ваше приложение в качестве приложения по умолчанию для категории платежей (см. ACTION_CHANGE_DEFAULT):

Intent intent = new Intent();
intent.setAction(CardEmulation.ACTION_CHANGE_DEFAULT);
intent.putExtra(CardEmulation.EXTRA_SERVICE_COMPONENT,
                new ComponentName(this, my.package.MyPaymentService.class));
intent.putExtra(CardEmulation.EXTRA_CATEGORY, CardEmulation.CATEGORY_PAYMENT);

startActivity(intent);
person Michael Roland    schedule 11.06.2014