【问题标题】:Can Android Pay be disabled in-app?可以在应用内禁用 Android Pay 吗?
【发布时间】:2018-05-21 15:55:59
【问题描述】:

我正在寻找一种方法来抑制 Android Pay 应用的一项活动。 iOS 有 requestAutomaticPassPresentationSuppressionWithResponseHandler 方法,它允许这样做——在应用程序处于前台时抑制 Apple Pay——我正试图在 Android 上实现这一点。

我已经实现了foreground dispatch。这适用于大多数 NFC 标签 - 标签在活动中被检测到,然后被忽略。但是,当检测到非接触式支付机时,会触发 Android Pay 应用程序,而我的活动中从未收到 onNewIntent 调用。

除了实现应用程序来执行card emulation 并忽略这些请求(由于某些原因这不是一个真正的选择)之外,我还能做些什么来抑制 Android Pay? (以及其他以 Android Pay 最为流行的类似支付应用)

【问题讨论】:

  • 你试过阅读模式(enableReaderMode())吗?
  • 刚试过,需要为NFC类型添加标志,但现在可以了! :) 谢谢。在文档中完全错过了这一点,除了在 javadoc 中甚至没有提到它。
  • 你有没有找到一种方法来实现抑制支付应用程序?
  • @AlexAymkin 当时使用enableReaderMode 的答案对我有用,但我已经好几年没用这个了,所以不确定从那以后是否有任何改变。

标签: android nfc android-pay hce


【解决方案1】:

在 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() 接收到的标签句柄。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-19
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多