Android'd ForegroundDispatch for NFC

Android'd ForegroundDispatch for NFC

前台调度的目的是什么?它与在 AndroidManifest 中添加 intent-filters 有何不同?目前我可以读取和写入 NFC 标签,我还没有编写任何前台调度代码。

这主要取决于您的要求。当您在清单中注册一个 IntentFilter 时,您指定一个 Activity 将被启动并在 Intent 中给出检测到的标签数据。这意味着您的应用程序可以随时启动来处理标签。例如,用户可以在启动器上并为他们的 phone 贴上标签,并让您的应用程序作为处理 NFC 检测事件的选项。

但是,假设您有这样一种情况,即只有当您的应用程序在前台时检测标签才有意义。例如,您的应用程序可能需要用户登录才能对标签数据执行某些操作。在这种情况下,您可以使用前台调度机制,并从您的任何 Activity 类 启动它,以便仅在您的应用处于活动状态时接收结果。

它与BroadcastReceivers 非常相似,它也可以是动态注册的东西,或者在清单中指定。在前一种情况下,接收器的生命周期在您的控制之下。在后一种情况下,您是说您的应用可以随时启动。