代码之家  ›  专栏  ›  技术社区  ›  Kevin

如何确保我的应用程序与使用nfc的其他应用程序不冲突

  •  1
  • Kevin  · 技术社区  · 12 年前

    我有一个应用程序,可以使用Mifare经典1K nfc芯片登录。我们的客户使用另一个应用程序(nedap),该应用程序具有相同的功能,但具有不同的卡(但类型相同)。如果两个应用程序都打开,并且我的应用程序位于前台,他们可以使用我们的nfc标签登录。然而,当另一个应用程序在前台,他们试图使用另一个nfc芯片登录时,该应用程序拒绝登录(它只是停留在登录屏幕上,没有错误)。如果只有一个应用程序处于打开状态,则完全没有问题。
    这是我的错还是其他应用程序中的错误?如果是我的错,我如何确保在实现nfc功能时不会与其他应用程序发生冲突?

    1 回复  |  直到 12 年前
        1
  •  1
  •   pizzaani    12 年前

    如果使用 foreground dispatch system ,只有此应用程序处理NFC流量:

    前台调度系统允许一个活动拦截一个意图,并要求优先于处理相同意图的其他活动。

    当你的应用进入后台时,你必须禁用它:

    此外,活动必须调用 disableForegroundDispatch(Activity) 在完成之前 onPause() 回调以在启用前台调度后禁用前台调度。