2

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;
    }
4

1 に答える 1