我正在尝试在前台活动中为支付卡设置优先级,但在返回setPreferedPaymentService()
之前不会工作。但是,这与“前台优先级”(NFC_PAYMENT_FOREGROUND) 系统设置相关联。categoryAllowsForegroundPreference()
true
有人遇到过类似的问题吗?如何以编程方式更改该设置?
我正在尝试在前台活动中为支付卡设置优先级,但在返回setPreferedPaymentService()
之前不会工作。但是,这与“前台优先级”(NFC_PAYMENT_FOREGROUND) 系统设置相关联。categoryAllowsForegroundPreference()
true
有人遇到过类似的问题吗?如何以编程方式更改该设置?
设置“前台优先级:在前台使用支付应用程序,甚至超过默认值” Settings.Secure.NFC_PAYMENT_FOREGROUND
(因此,如果有一种编程方式可以重新启用此选项(在用户故意禁用它之后),那么拥有此选项将毫无意义。
因此,答案是:您无法通过应用程序以编程方式启用该系统设置。
但是,您可以做的是要求用户重新考虑他们的选择。例如,您可以通过发送CardEmulation.ACTION_CHANGE_DEFAULT
意图让用户选择您的应用作为默认应用来做到这一点。或者您可以将用户导航到触碰付款设置(使用Settings.ACTION_NFC_PAYMENT_SETTINGS
意图)。