android - Android 标签分发器是同步处理还是异步处理 NDEF 记录?

标签 android android-intent nfc ndef

我多次阅读 Android 开发者网站上关于 NFC 标签分发器 (http://developer.android.com/guide/topics/connectivity/nfc/index.html) 的文档,但我无法弄清楚 Android 标签分发器在阅读时如何处理多个 NDEF 记录。

当您有一个记录时,该过程非常清晰,但在有多个记录的特定情况下,标签调度程序是否会连续映射到专用 Intent ,每次都在等待向用户发送选择操作的请求?换句话说,它会同步工作还是会并行执行所有相关 Intent ?

我的意思是要知道我是否可以,例如使用 Android M,传递带有 Wi-Fi 配对信息的第一条记录,然后传递带有网页的第二条记录,特别是避免错误类型 no internet connection found 如果异步完成?

另一个用例是将应用程序启动器作为第一个记录,第二个记录用作已启动应用程序的参数或一种参数。

当然,我想在没有第三方应用的原生 Android 中做到这一点。

最佳答案

答案很简单:Android 根本不会将多个 NDEF 记录作为多个 Intent 发送。

如果一个标签包含多个 NDEF 记录,Android 将只评估第一个 NDEF 记录,以形成 Intent 的数据部分,它将发送以通知应用程序有关此标签的信息。然后由接收该 Intent 的应用决定处理任何其他 NDEF 记录。

唯一的异常(exception)是 Android 应用程序记录。如果这样的记录存在于 NDEF 消息中的任何地方(无论它是否是第一个),该记录将用于将 NFC 发现 Intent 传递给 AAR 中声明的应用程序。不过,在这种情况下,第一个记录将用于构成 NFC 发现 Intent 的数据部分。

关于android - Android 标签分发器是同步处理还是异步处理 NDEF 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36679772/

相关文章:

android - 可以过滤 WifiManager 的扫描吗?

android - 无法使用 FileProvider 打开普通文本文件

Android:我可以使用 MIME 类型 vnd.bluetooth.ep.oob 过滤 NFC 标签吗?

java与NFC通信(PC/SC)

java - 点击另一个支持 NFC 的设备后无法进入 onNewIntent。(android)

javascript - 根据设备宽度更改视频标签属性(JQuery/Javascript)

Java "get{Object}"方法命名约定

使用 Intent 不打开应用程序的 Android 深层链接

android - SecurityException : Parcel. readException 来自谷歌分析代码

java - 未收到数据