android - 如果标签读取器没有相对运动,NFC 标签可以激活吗?

标签 android nfc ndef

我们正在构建一个 NFC 应用程序,该应用程序需要一次读取 NFC 标签(由 Android 移动设备),然后将数据发送到处理它的服务器,并将处理结果发送回写入数据返回到 NFC 标签。

移动设备(具有 NFC 阅读器)执行的操作:

  • 从标签中读取数据
  • 发送数据到服务器并等待处理结果
  • 接收处理后的结果
  • 在标签上写下结果

问题是当花费的时间高于半分钟时(由于网络速度和服务器端处理时间)第四个操作(将处理结果写回标签)失败。

失败的几个可能原因可能是:

  • A:标签由标签在阅读器产生的磁场内移动来供电。当第二次和第三次操作完成并尝试第四次操作时,标签不再有电。
  • B:我们的代码有一个错误,应该为要执行的第四个操作重新创建读取器/标签对象(我们在执行其他操作时将读取器和标签对象保存在内存中)

我们的 Android 应用程序中使用的代码/库(用于与标签交互)由第三方提供。我对 NFC(和 ndef Android 库)的了解有限。我正在寻找社区的帮助(如果有人在上述情况下有经验)如下

  • 如果上述情况是因为 B 而发生的。我们会尝试找出相同的答案。 (或联系第三方供应商给出解决方案)
  • 反之如果第四步失败的原因是A,我们调试第三方代码也没用。 (实际上,我们需要的是更改流程,以便应用程序提示用户在第四步发生之前再次点击标签)

最佳答案

我会将这 4 个步骤分成 3 组。

1) 读取标签
2) 向服务器发送数据并等待处理结果,并接收处理结果
3)将结果写在标签上

1) 是用户交互(“请点击标签”),
2) 在后台发生(“处理数据”)和
3) 再次是用户交互,一旦数据从服务器返回,我会要求用户再次触摸标签(“请再次点击标签”)。

这有助于分离时间不确定的步骤(如果手机暂时没有数据连接怎么办?也很难指望用户将设备稳定地放在标签上直到数据恢复。

关于android - 如果标签读取器没有相对运动,NFC 标签可以激活吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38414225/

相关文章:

java - Google Places api AutocompletePrediction prediction.getDescription() MissingAfter 升级到 Play 服务到 9.4.0

Android:如何使用当前应用程序读取 NFC 标签

android - NDEF_DISCOVERED 不适用于三星 Galaxy S3

c# - 如何使用兼容Android的C#读写NDEF格式的NFC标签?

android - 如何锁定 NFC 标签?

android - 在android View 中闪烁文本

android - Android 4.3 上 ShinobiChart 的空实例

android - BottomSheet - 为什么 FAB 按钮在 View 上?当我再次关注 map 时如何隐藏 BottoSheet?

android - NFCPY : Safely exiting beam. py 示例

android - NFC 与 Xamarin.Forms 没有任何反应