1

我正在使用Mifare NFC标签,并且成功地读取和写入标签。我的标签只包含一个包名,这意味着它启动一个应用程序或在未安装应用程序的情况下进入Play 商店。

但我在以下用例中苦苦挣扎:

我想在应用程序第一次启动时读取标签。不幸的是,用于启动我的应用程序的Intent操作来自 MAIN 类型,并且不包含任何 NFC 信息。在应用程序运行时将标签第二次靠近设备,将触发TECH_DISCOVERED Intent其中包含我需要的信息。

简而言之:当应用程序第一次使用标签启动时,是否可以从标签中获取内容?

4

1 回答 1

2

如果标签上的 NDEF 消息仅包含 Android 应用程序记录 (AAR),您将无法在意图中获得标签的句柄。如果您有一个与 NDEF 消息的第一条记录匹配的意图过滤器,您会得到它。但是,Android 对 AAR 的处理方式有所不同:它的意图过滤器被忽略,而是启动了请求的应用程序。

您应该创建一个 NDEF 消息,其中包含例如 URL 记录,然后是 AAR,而不是仅包含包名称的 AAR。如果您随后使用操作 NDEF_DISCOVERED 为 URL 添加意图过滤器,您将获得带有标签句柄的意图。

于 2013-03-13T00:10:22.920 回答