我正在使用 Mifare NFC 标签,我成功地设法读取和写入标签。我的标签只包含一个包名,意味着它启动一个应用程序,或者如果没有安装该应用程序,则转到 Play商店。
但我正在努力解决以下用例:
我想在应用程序第一次启动时读取标记。不幸的是,用于启动我的应用程序的 Intent 的操作来自MAIN类型,并且不包含任何NFC信息。在应用程序运行时将标签靠近设备第二次,将触发TECH_DISCOVERED Intent
,其中包含我需要的信息。
简而言之:当应用程序首次使用标记启动时,是否可以从标记中获取内容?
答案 0 :(得分:2)
如果标签上的NDEF消息仅包含Android应用程序记录(AAR),则无法获得intent中标记的句柄。如果你有一个与NDEF消息的第一条记录匹配的intent过滤器,你会得到它。但是,Android对AAR的处理方式不同:忽略了对它的意图过滤器,而是启动了请求的应用程序。
您应该创建一个包含例如URL记录的NDEF消息,而不是仅包含包名称的AAR,而不是AAR。如果您随后使用操作NDEF_DISCOVERED为URL添加了一个intent过滤器,您将获得带有标记句柄的意图。