NFC HCE決済が可能なサービス(アプリ)が複数インストールされている場合。これらのアプリケーション サービスは、設定 NFC タップ アンド ペイの下に表示されます。
2 つの AID グループが定義されています。1 つは支払い用、もう 1 つはその他のカテゴリー用です。
そうでない場合、アプリケーションをデフォルトの「他のカテゴリ」サービスにプログラムで変更する方法は?
以下は私が実行しているコードですが、「他のカテゴリ」の実行中のアプリケーションを選択するためにダイアログが呼び出されません。ただし、「支払いカテゴリ」ダイアログは正常に開きます。以下はコードです:
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;
}