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

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

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

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

спасибо.

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);