【发布时间】:2015-11-30 00:18:25
【问题描述】:
我正在开发一个应用程序,我想在其中获取设备的 NFC 序列号。当我按下按钮时,我希望应用程序找到 NFC 卡的 UID 并将其存储在数据库中。唯一的问题是我不知道如何获取 UID 以及在 Android 上是否可行。
【问题讨论】:
标签: java android nfc uniqueidentifier
我正在开发一个应用程序,我想在其中获取设备的 NFC 序列号。当我按下按钮时,我希望应用程序找到 NFC 卡的 UID 并将其存储在数据库中。唯一的问题是我不知道如何获取 UID 以及在 Android 上是否可行。
【问题讨论】:
标签: java android nfc uniqueidentifier
请阅读文档:http://developer.android.com/guide/topics/connectivity/nfc/nfc.html
Tag 有方法getId():
获取标签标识符(如果有的话)。
标签标识符是一个低级序列号,用于 防碰撞和识别。
大多数标签都有一个稳定的唯一标识符 (UID),但有些标签会 每次发现它们时生成一个随机 ID (RID),然后 是一些根本没有 ID 的标签(字节数组的大小为零)。
ID 的大小和格式特定于所使用的射频技术 标签。
此函数检索在发现时确定的 ID,并且 不执行任何进一步的射频通信或阻塞。
可能是这样的:
@Override protected void onNewIntent(Intent intent) {
if(NfcAdapter.ACTION_TAG_DISCOVERED.equals(getIntent().getAction())) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Log.d(TAG, "tag ID = " + tag.getId().toString());
}
super.onNewIntent(intent);
}
【讨论】: