问题描述
- android 读取NFC序列号
-
我手上有一个android系统的手持设备,有读取NFC功能,我想请问一下,NFC不都有一个唯一的序列号码。怎么读取这个序列号呀,很急,因为初学android所以希望有人可以帮我解决一下,谢谢
解决方案
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();
}
解决方案二:
https://yunpan.cn/cqL5KcCmdsDYp 访问密码 8173 有个文档你看看
时间: 2024-09-27 20:55:27