2013-03-12 81 views
1

我使用的是的Mifare NFC标签我成功地设法读取和写入标签。我的标签仅包含包名称意味着它启动一个应用程序或者未安装该应用程序进入到Play商店NFC:和阅读应用程序启动

但我用下面的用例挣扎:

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

简而言之:是否有可能获取过当应用程序启动时使用的标记在第一时间标签的内容?

+0

您是否尝试过增加了对NFC一个意图过滤器?另外,你是否检查了内容的意图或者仅仅是行动? – ThomasRS 2013-03-12 20:14:11

回答

2

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

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

+0

它的工作,谢谢 – DroidBender 2013-03-21 15:42:33