让我们考虑一个用户安装了多个支持NFC HCE支付的应用程序的情况。这些应用程序服务可以在设置的NFC触摸和支付下看到。
如果您的应用程序不是默认的付款服务,如何通过编程方式更改它?
CardEmulation
似乎只有API来查询类别服务是否为默认值。
谢谢。
让我们考虑一个用户安装了多个支持NFC HCE支付的应用程序的情况。这些应用程序服务可以在设置的NFC触摸和支付下看到。
如果您的应用程序不是默认的付款服务,如何通过编程方式更改它?
CardEmulation
似乎只有API来查询类别服务是否为默认值。
谢谢。
这个界面的主要想法是让用户决定哪个支付应用程序应该成为默认应用程序。因此,无法通过编程方式设置您的应用程序为默认应用程序。
但是,您可以请求用户将您的应用程序设置为支付类别的默认应用程序(请参见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);