我真的很感谢你的帮助。一直在寻找解决方案大约一周。我无法在互联网上找到解决方案。我正在阅读一个基本的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();
}
}
我真的很感激任何指导...