从android中的ndefrecord中获取整数

时间:2018-04-24 01:56:22

标签: android

我真的很感谢你的帮助。一直在寻找解决方案大约一周。我无法在互联网上找到解决方案。我正在阅读一个基本的NdefRecord - 文本。 NdefRecord包含一个数字。我没有问题阅读记录,但我不能将它转换成一个整数,它只是不转换。以下是我获取记录的方式;

public String getTextFromNdefRecord(NdefRecord ndefRecord){//获取信息           String tagContent = null;

    try{
        byte[] payload = ndefRecord.getPayload();
        String textEncoding = ((payload[0] & 128)==0)? "UTF-8":"UTF-16";
        int languageSize = payload[0] & 0063;
        tagContent = new String(payload, languageSize+1, payload.length-languageSize-1, textEncoding);
    }catch (UnsupportedEncodingException e){
        Log.e("getTextFromNdefRecord",e.getMessage());
}return tagContent;
}

以下是我阅读和展示的方式。我也尝试将它转换为字符串,没有任何优势;

private void readTextMessage(NdefMessage ndefMessage){         NdefRecord [] ndefRecords = ndefMessage.getRecords();

    if(ndefRecords!=null&&ndefRecords.length>0){
        NdefRecord ndefRecord = ndefRecords[0];
        String tagContent = getTextFromNdefRecord(ndefRecord);
        int num = Integer.parseInt(tagContent);
        txtTagContent.setText(tagContent);
        //Toast.makeText(this,tagContent, Toast.LENGTH_SHORT).show();
        Toast.makeText(this, num, Toast.LENGTH_SHORT).show();

    }else{
        Toast.makeText(this, "No NDEF message found", Toast.LENGTH_SHORT).show();
    }
}

我真的很感激任何指导...

0 个答案:

没有答案