我正在研究NFC及其使用,我从一个简单的概念验证开始,为Android创建一个NFC应用程序。扫描标签时,它会发送带有标签ID的REST请求,以查看它是否已在服务中注册,如果是,则会在手机上下载并播放内容。
问题是标签的ID是顺序的,要求是存储一些独特的随机信息以避免可能的复杂性和安全问题。问题是,数据应该是什么?这个问题有一些标准吗?
我们的想法是存储x,y
,其中x
是触发器标识符,y
是随机唯一编号。这会有用吗?可以根据x
值启动自定义活动吗?
感谢任何帮助和参考。会有蛋糕。
答案 0 :(得分:2)
您一定要查看此页面,该页面描述了新检测到的标记的最新调度过程:http://developer.android.com/reference/android/nfc/Tag.html。如果您的标签检测应用程序预计在扫描标签时正在运行,那么它现在会有所不同。如果它在前台,您可以确定您的活动将在扫描的标签上获得第一次破解,无论检测到任何标签。如果您的应用尚未运行但已安装在设备上,则AndroidManifest.xml中的意图过滤器将指示您的应用是否有机会收到检测到的标记的通知。以前,所有标记数据都被放入发出的意图的附加内容中。但是在2.3.3中,如果标记的第一个NDEF记录中有URI,并且标记是URI或SmartPoster,则该URI将被放入intent的数据字段中,该字段将在与intent过滤器匹配时使用。如果标记是MIME_TYPE标记,则将mime类型放入intent的类型字段中。因此,如果您使用应用正在查找的自定义URI或自定义MIME类型,则应始终收到有关您的代码的通知(除非其他应用位于前台且已请求所有代码)。
答案 1 :(得分:1)
我有一个我为NFC(phonegap)开发的插件,我只是使用:
<data android:mimeType="text/pg" />
它就像一个魅力。
答案 2 :(得分:0)
我使用FakeTagsActivity将NDEF消息加载到NFCAdapter中。我通过意图传递URI /文本消息。但无法使用以下意图过滤器启动TagViewer活动。
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:mimeType="mimeType/pg" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>