我想做一些相当简单的事情,但如果Gingerbread API中的方法是针对正在扫描的令牌的ID或Nexus S上的硬件,我无法解决.我希望能够做什么获得设备的NFC芯片的唯一标识符,因此我可以注册它(例如,当通过RFID阅读器放弃设备时,我可以将被放弃的设备与账户相关联).使用当前的API方法可以实现这一点吗?
看起来最有希望的代码(但我无法测试,因为我没有设备)是
byte[] tagId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
Run Code Online (Sandbox Code Playgroud)
tagId设置为一个字节数组.您需要将该数组解析为十六进制字符串.有很多方法可以做到这一点,但是这段代码可以在不使用外部库的情况下完成,而且很容易看出发生了什么:
String ByteArrayToHexString(byte [] inarray)
{
int i, j, in;
String [] hex = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
String out= "";
for(j = 0 ; j < inarray.length ; ++j)
{
in = (int) inarray[j] & 0xff;
i = (in >> 4) & 0x0f;
out += hex[i];
i = in & 0x0f;
out += hex[i];
}
return out;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15491 次 |
| 最近记录: |