【问题标题】:Does the Android tag dispatcher handle the NDEF records synchronously or asynchronously?Android 标签调度器是同步还是异步处理 NDEF 记录?
【发布时间】:2016-04-17 17:24:17
【问题描述】:

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

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

我的意思是,我是否可以(例如使用 Android M)传递带有 Wi-Fi 配对信息的第一条记录,然后传递带有网页的第二条记录,特别是避免出现错误类型,如果异步完成则找不到 Internet 连接?

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

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

【问题讨论】:

    标签: android android-intent nfc ndef


    【解决方案1】:

    答案相当简单:Android 根本不会将多个 NDEF 记录作为多个意图分派。

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

    唯一的例外是 Android 应用程序记录。如果这样的记录存在于 NDEF 消息中的任何位置(不管它是否是第一个),则该记录将用于将 NFC 发现意图传递给在 AAR 中声明的应用程序。尽管如此,在这种情况下,第一条记录仍将用于形成 NFC 发现意图的数据部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 2019-01-17
      • 2020-04-14
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多