我正在开发一款将使用NFC标签进行识别的应用程序。然而,我发现的所有例子都是关于在读取特定卡片时启动应用程序。我试着寻找一个例子或文件来说明如何以不同的方式做到这一点,但都无济于事。只需阅读NFC标签
我要的是:
- 用户开始我的应用程序
- 用户扫描NFC卡
- 应用决定下一步
我得到了一些代码,现在的工作,我只是不” t获取标签数据:
In onCreate
:
pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
tech = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);
try {
tech.addDataType("*/*");
} catch (MalformedMimeTypeException e) {
throw new RuntimeException("fail", e);
}
intentFiltersArray = new IntentFilter[] { tech };
而且在onResume
:
nfcAdapter.enableForegroundDispatch(this, pendingIntent, intentFiltersArray, techList);
这样做的目的只有到达那里时,应用程序是积极的,但我收到Intent
是我定义自己的PendingIntent
,而不是ACTION_TECH_DISCOVERED
意图我想要的。
@ njzk2标准的例子,其注册一个'的IntentFilter在清单中。他们工作,但他们不做我想要的。当然还有很多互联网搜索。 – 2013-05-06 13:28:42
显然你应该注册你的活动,如果你想阅读nfc。我没有看到任何直接从中读取的方法。但是,您可以将标签的处理置于仅在阅读时才能运行的条件块中。 (不知道如果标签已经在范围内会发生什么) – njzk2 2013-05-06 14:15:01