Android村花 2015-03-31 08:41 采纳率: 0%
浏览 3289

android 读取NFC序列号

我手上有一个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();   
    
        }
    
    评论

报告相同问题?