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

Write NFC Tags to a perform basic android tasks

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

我已经对读写nfc标签有了基本的了解。但是我需要重新指导我们如何将任务与 nfc 标签相关联,因为我没有找到相同的资源。实现它的标准和最佳方法是什么。我知道我可以在标签上写字符串然后读取它来执行任务,但我不知道这是不是最好的方法

This 应用已经在做 this.I 需要做类似的事情。

我参考并使用了https://github.com/nadam/nfc-reader. for reading the tags and https://github.com/balloob/Android-NFC-Tag-Writer写标签。

请帮忙。

当你点击一个标签时,Android在所有应用程序中搜索哪个可以打开它。

因此您可以创建具有特定 "mime-type" 的标签和打开此类标签的应用程序。 activity 已启动,因为它在此特定 "mime-type" 上具有 "good" 过滤器。您现在必须在此 activity.

中执行您的操作(toogle-wifi,...)

您可以使用 "specific" mime 类型创建 NDEF 消息,如下所示:

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 中的 activity 添加此过滤器:

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>