Если установлено несколько сервисов (приложений), поддерживающих платежи NFC HCE. Эти службы приложений видны в настройках NFC Tap and Pay.
Определены две группы AID, одна для оплаты, а вторая для другой категории.
Как программно изменить ваше приложение, чтобы оно было службой «другой категории» по умолчанию, если это не так?
Ниже приведен код, который я выполняю, но диалоговое окно не вызывается для выбора запущенного приложения для «другой категории». Однако для «категории платежа» диалоговое окно успешно открывается. Ниже приведен код:
CardEmulation cardEmulation = CardEmulation.getInstance(NfcAdapter.getDefaultAdapter(this));
boolean isDefaultCategorySelected = cardEmulation.isDefaultServiceForAid(new ComponentName(this, MyOffHostApduService.class), "F4100000040001");
if(!isDefaultCategorySelected(CardEmulation.CATEGORY_OTHER)){
Intent intent = new Intent(CardEmulation.ACTION_CHANGE_DEFAULT);
intent.putExtra(CardEmulation.EXTRA_CATEGORY, CardEmulation.CATEGORY_OTHER);
intent.putExtra(CardEmulation.EXTRA_SERVICE_COMPONENT, new ComponentName(this, MyOffHostApduService.class));
startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_TRANSIT_SERVICE);
return;
}