通过Android获取设备的NFC卡的UID

时间:2015-11-30 00:18:26

标签: java android nfc uniqueidentifier

我正在开发一个应用程序,我想在其中获取设备的NFC序列号。当我按下按钮时,我希望应用程序找到NFC卡的UID并将其存储在数据库中。唯一的问题是我不知道如何获取UID,以及在Android上是否可以。

1 个答案:

答案 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);
}