设置应用程序默认支付服务

8

让我们考虑一个用户安装了多个支持NFC HCE支付的应用程序的情况。这些应用程序服务可以在设置的NFC触摸和支付下看到。

如果您的应用程序不是默认的付款服务,如何通过编程方式更改它?

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

谢谢。

1个回答

13

这个界面的主要想法是让用户决定哪个支付应用程序应该成为默认应用程序。因此,无法通过编程方式设置您的应用程序为默认应用程序。

但是,您可以请求用户将您的应用程序设置为支付类别的默认应用程序(请参见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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接