我手上有一个android系统的手持设备,有读取NFC功能,我想请问一下,NFC不都有一个唯一的序列号码。怎么读取这个序列号呀,很急,因为初学android所以希望有人可以帮我解决一下,谢谢
2条回答
- BigDataMLApplication 2016-04-02 11:20关注
byte[] bytesId =intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
byte[] dataId = tag.getId();
Log.e("dataId",dataId+"");
String strId = bytesToHexString(dataId);// 字符序列转换为16进制字符串
Log.e("strId",strId+"");
cardIdtext.setText(strId);// 字符序列转换为16进制字符串
private String bytesToHexString(byte[] src) {
return bytesToHexString(src, true);
}private String bytesToHexString(byte[] src, boolean isPrefix) { StringBuilder stringBuilder = new StringBuilder(); if (isPrefix == true) { stringBuilder.append("0x"); } if (src == null || src.length <= 0) { return null; } char[] buffer = new char[2]; for (int i = 0; i < src.length; i++) { buffer[0] = Character.toUpperCase(Character.forDigit( (src[i] >>> 4) & 0x0F, 16)); buffer[1] = Character.toUpperCase(Character.forDigit(src[i] & 0x0F, 16)); System.out.println(buffer); stringBuilder.append(buffer); } return stringBuilder.toString(); } public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); }
解决 无用评论 打赏 举报