我正在开发一个应用程序,我想在其中获取设备的NFC序列号。当我按下按钮时,我希望应用程序找到NFC卡的UID并将其存储在数据库中。唯一的问题是我不知道如何获取UID,以及在Android上是否可以。
答案 0 :(得分:2)
请阅读doc:http://developer.android.com/guide/topics/connectivity/nfc/nfc.html
Tag
有方法getId()
:
获取标签标识符(如果有)。
标签标识符是用于的低级序列号 防撞和识别。
大多数标签都有一个稳定的唯一标识符(UID),但有些标签会 每次发现(RID)时都会生成一个随机ID 是一些没有ID的标签(字节数组将是零大小)。
ID的大小和格式特定于所使用的RF技术 标签。
此函数检索在发现时确定的ID,以及 不执行任何进一步的RF通信或阻止。
可能是这样的:
@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);
}