目标: - 我想写nfc标签,并将其与基本的android功能关联,如切换蓝牙,wifi等。当Android应用程序读取卡时,它应该能够执行相关的任务。
我已经有了阅读和编写nfc标签的基本思路。但我需要指导如何将任务与nfc标签相关联,因为我发现没有相同的资源。什么是标准&实现它的最佳方式。我知道我可以在标签上写字符串,然后读取它来执行任务,但我不知道它的最佳方式
This应用已经在做这个了。我需要做类似的事情。
我已经转介并习惯了https://github.com/nadam/nfc-reader。用于阅读标签和https://github.com/balloob/Android-NFC-Tag-Writer用于书写标签。
请帮忙。
答案 0 :(得分:0)
当您点按标记时,Android会在所有应用程序中搜索,可以打开它。
所以你可以使用特定的" mime-type"创建标签。以及打开这种标签的应用程序。推出一项活动,因为它有"好"过滤此特定" mime-type"。您现在可以在此活动中执行操作(toogle-wifi,...)。
您可以使用"特定"创建NDEF消息。 mime类型如下:
String data = "tooggle_wifi";
// New record
NdefRecord appRecord = NdefRecord.createApplicationRecord(context.getPackageName());
// Record with actual data we care about
NdefRecord relayRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA,
new String("application/my.specific.tag")
.getBytes(Charset.forName("US-ASCII")),
null, data.getBytes());
现在要抓住这种标记,在AndroidManifest中,在活动中添加此过滤器:
http://developer.android.com/guide/topics/connectivity/nfc/nfc.html#ndef-disc
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/my.specific.tag" />
</intent-filter>