如果安装了多个支持 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;
}