【发布时间】:2016-02-06 20:29:53
【问题描述】:
仅支持 HCE(基于主机卡的仿真)的 X 钱包应用安装在同时支持 HCE 和 SE(安全元素)支付方式的 Android 设备上。默认的“点击付款”应用程序是 X 钱包应用程序,但注册到它的默认选择付款方式是 SE。
如何检测默认付款方式?这样我就可以警告用户将 X 钱包的付款方式类型更改为 HCE。
【问题讨论】:
-
Android 上还没有公开的 API。
仅支持 HCE(基于主机卡的仿真)的 X 钱包应用安装在同时支持 HCE 和 SE(安全元素)支付方式的 Android 设备上。默认的“点击付款”应用程序是 X 钱包应用程序,但注册到它的默认选择付款方式是 SE。
如何检测默认付款方式?这样我就可以警告用户将 X 钱包的付款方式类型更改为 HCE。
【问题讨论】:
您可以告诉 Android 系统您希望您的应用管理触碰付款,它会显示一个对话框,其中包含实际管理付款的应用名称以及您的应用名称。
问题的答案中对此进行了解释: Set application default payment service
你可以找到的代码如下:
Intent intent = new Intent();
intent.setAction(CardEmulation.ACTION_CHANGE_DEFAULT);
intent.putExtra(CardEmulation.EXTRA_SERVICE_COMPONENT,
new ComponentName(this, my.package.MyPaymentService.class));
intent.putExtra(CardEmulation.EXTRA_CATEGORY, CardEmulation.CATEGORY_PAYMENT);
startActivity(intent);
其中“my.package.MyPaymentService”是您应用中管理付款的服务。
【讨论】: