支持前台应用不适用于 HCE 付款 Android
Favour foreground app not working for HCE payments Android
我的 HCE 付款遇到了一个奇怪的问题。我的手机中有两个支付应用程序。一个是我开发的,另一个是 Android 付费的。在 Tap&Pay 中,默认的是 "Android Pay",而我的应用程序是非默认的并且已启用 "Favour foreground app"。
现在我的问题是当我尝试付款时(点击设备到 POS),设备总是提示 "Android Pay" 而不是我的应用程序。
我遵循了 Android 文档中给出的所有指南。
我是否需要在我的代码中启用任何功能才能实现此目的?
为了利用 "Favor Foreground App" 首选项,您需要告诉 CardEmulation
您的应用已准备好拦截终端点击。默认情况下,您的应用不会拦截点击。
在我们的应用程序中,我在每个 Activity 的 onPause() 和 onResume() 中执行此操作(或者您可以扩展一个通用的 Activity 并只执行一次。
在onResume()调用
public boolean setPreferredService (Activity activity, ComponentName service)
在onPause(),调用
public boolean unsetPreferredService (Activity activity)
我的 HCE 付款遇到了一个奇怪的问题。我的手机中有两个支付应用程序。一个是我开发的,另一个是 Android 付费的。在 Tap&Pay 中,默认的是 "Android Pay",而我的应用程序是非默认的并且已启用 "Favour foreground app"。
现在我的问题是当我尝试付款时(点击设备到 POS),设备总是提示 "Android Pay" 而不是我的应用程序。
我遵循了 Android 文档中给出的所有指南。
我是否需要在我的代码中启用任何功能才能实现此目的?
为了利用 "Favor Foreground App" 首选项,您需要告诉 CardEmulation
您的应用已准备好拦截终端点击。默认情况下,您的应用不会拦截点击。
在我们的应用程序中,我在每个 Activity 的 onPause() 和 onResume() 中执行此操作(或者您可以扩展一个通用的 Activity 并只执行一次。
在onResume()调用
public boolean setPreferredService (Activity activity, ComponentName service)
在onPause(),调用
public boolean unsetPreferredService (Activity activity)