gpt4 book ai didi

android - 为 'Other' 类别设置默认服务 |人机工程学

转载 作者:行者123 更新时间:2023-11-30 02:09:44 30 4
gpt4 key购买 nike

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

最佳答案

你不能。

当前仅 CATEGORY_PAYMENT 支持全局默认值。 CATEGORY_OTHER 的解析策略始终设置为 SELECTION_MODE_ASK_IF_CONFLICT。因此,您的应用程序必须是唯一在 CATEGORY_OTHER 中注册特定 AID 组的应用程序,否则 Android 会在交易时询问用户应该使用哪个应用程序。

您可以使用 CardEmulation.setPreferredService() 将您的 HCE 服务设置为默认服务,同时您的 Activity 之一在前台。

关于android - 为 'Other' 类别设置默认服务 |人机工程学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30272797/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com