让我们考虑一个用户安装了多个支持 NFC HCE 支付的应用程序的情况。这些应用程序服务在设置 NFC Tap and Pay 下可见。
如果不是,如何以编程方式将您的应用程序更改为默认支付服务?
CardEmulation
似乎只有 API 可以查询类别服务是否为默认服务。
谢谢。
让我们考虑一个用户安装了多个支持 NFC HCE 支付的应用程序的情况。这些应用程序服务在设置 NFC Tap and Pay 下可见。
如果不是,如何以编程方式将您的应用程序更改为默认支付服务?
CardEmulation
似乎只有 API 可以查询类别服务是否为默认服务。
谢谢。
拥有该 UI 背后的主要思想是用户可以决定哪个支付应用程序应该是默认应用程序。因此,无法以编程方式将您的应用设置为默认应用。
但是,您可以请求用户将您的应用设置为付款类别的默认应用(请参阅ACTION_CHANGE_DEFAULT
):
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);