如何以编程方式检测Android中点击付费钱包应用程序的默认付款方式类型?

如何以编程方式检测Android中点击付费钱包应用程序的默认付款方式类型?,android,hce,Android,Hce,仅支持HCE(基于主机卡的模拟)的X wallet应用程序安装在同时支持HCE和SE(安全元素)支付方式的Android设备上。默认的“点击付款”应用程序是X钱包应用程序,但注册到该应用程序的默认选定付款方式是SE 如何检测默认付款方式?因此,我可以警告用户将X钱包的付款方式类型更改为HCE。您可以告诉Android系统您希望您的应用程序管理点击付款,它将显示一个对话框,其中包含实际管理付款的应用程序的名称以及您的应用程序的名称 这在对问题的答复中作了解释: 您可以在那里找到以下代码: In

仅支持HCE(基于主机卡的模拟)的X wallet应用程序安装在同时支持HCE和SE(安全元素)支付方式的Android设备上。默认的“点击付款”应用程序是X钱包应用程序,但注册到该应用程序的默认选定付款方式是SE


如何检测默认付款方式?因此,我可以警告用户将X钱包的付款方式类型更改为HCE。

您可以告诉Android系统您希望您的应用程序管理点击付款,它将显示一个对话框,其中包含实际管理付款的应用程序的名称以及您的应用程序的名称

这在对问题的答复中作了解释:

您可以在那里找到以下代码:

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”是您应用程序中管理付款的服务。

您可以告诉Android系统您希望您的应用程序管理点击付款,它将显示一个对话框,其中包含实际管理付款的应用程序的名称以及您的应用程序的名称

这在对问题的答复中作了解释:

您可以在那里找到以下代码:

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”是您应用程序中管理付款的服务。

Android上还没有用于此的公共api。Android上还没有用于此的公共api。我认为您可以检测您的应用程序是否为默认应用程序,但无法确定哪个应用程序是默认应用程序。我认为您可以检测您的应用程序是否为默认应用程序,但你无法确定默认的应用程序是什么。