Android Pay可以在应用中禁用吗?

7
我正在寻找一种方法来抑制Android Pay应用程序的一个活动。iOS有requestAutomaticPassPresentationSuppressionWithResponseHandler方法,可以在应用程序在前台时完全禁止Apple Pay - 我正在尝试在Android上实现这一点。
我已经实现了foreground dispatch。对于大多数NFC标签,这很好用- 标签在活动中被检测然后被忽略。但是,当检测到非接触式支付机器时,会触发Android Pay应用程序,我从未在我的活动中收到onNewIntent调用。
除了实现应用程序以进行card emulation并忽略这些请求之外(由于几个原因,这不是真正的选择),是否还有其他我可以做的事情来抑制Android Pay?(以及其他类似以Android Pay为重点的付款应用程序)

你尝试过阅读器模式(enableReaderMode())吗? - Michael Roland
刚试了一下,需要添加NFC类型的标志,但现在它可以工作了! :) 谢谢。完全错过了文档中的这一点,甚至没有提到除了javadoc之外。 - sigute
你找到了实现抑制支付应用程序的方法吗? - Alex Aymkin
1
@AlexAymkin 在当时使用 enableReaderMode 的答案对我有用,但是我已经好几年没有使用过了,所以不确定是否有任何变化。 - sigute
1个回答

3
在Android 4.4及以上版本中,您可以使用读卡器模式API来明确地将设备切换到特定标签技术的读写模式。这会禁用其他NFC模式(点对点模式(“Android Beam”)和卡模拟模式)。
nfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {
    public void onTagDiscovered(Tag tag) { }
}, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK, null);

如果您还想忽略已发现的标签,那么您可以直接删除(忽略)通过onTagDiscovered()收到的标签句柄。


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