将NFC标签写入执行基本的android任务

时间:2015-03-22 07:20:17

标签: android nfc

目标: - 我想写nfc标签,并将其与基本的android功能关联,如切换蓝牙,wifi等。当Android应用程序读取卡时,它应该能够执行相关的任务。

我已经有了阅读和编写nfc标签的基本思路。但我需要指导如何将任务与nfc标签相关联,因为我发现没有相同的资源。什么是标准&实现它的最佳方式。我知道我可以在标签上写字符串,然后读取它来执行任务,但我不知道它的最佳方式

This应用已经在做这个了。我需要做类似的事情。

我已经转介并习惯了https://github.com/nadam/nfc-reader。用于阅读标签和https://github.com/balloob/Android-NFC-Tag-Writer用于书写标签。

请帮忙。

1 个答案:

答案 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>