2014-06-11 59 views
5

让我们来考虑一个用户安装了多个具有NFC HCE支付能力的应用的情况。这些应用程序服务在设置NFC Tap和Pay下可见。设置应用默认支付服务

如果以编程方式将您的应用程序更改为默认支付服务(如果不是)?

CardEmulation似乎只有API才能查询类别的服务是否为默认值。

谢谢。

回答

9

拥有该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);