作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果安装了多个支持 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/
我是一名优秀的程序员,十分优秀!