开发者社区> 问答> 正文

使用UFC错误输出问题

有一个NFC工程,写了一个电子名片文件,但是输出不对:

private NdefMessage getNoteAsNdef() {
//   byte[] textBytes = mName.getText().toString().getBytes();
//    EditText tName = mName;
//    EditText tNumber = mNumber;
     String nameVcard = "BEGIN:VCARD" +"\n"+ "VERSION:2.1" +"\n" + "N:;" + (EditText) findViewById(R.id.mName) + "\n" +"ORG:"+"\n"+ "TEL;WORK:" +(EditText) findViewById(R.id.mNumber)+ "\n" + "END:VCARD";
    byte[] uriField = nameVcard.getBytes(Charset.forName("US-ASCII"));
    byte[] textBytes = new byte[uriField.length + 1];;
    System.arraycopy(uriField, 0, textBytes, 1, uriField.length);

    NdefRecord textRecord = new NdefRecord(
            NdefRecord.TNF_MIME_MEDIA, "text/x-vcard".getBytes(), new byte[0], textBytes);

    return new NdefMessage(new NdefRecord[] {
        textRecord
    });
}

输出的文字都不正确,还有@字符。

展开
收起
蛮大人123 2016-06-16 15:56:31 2087 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    String nameVcard = "BEGIN:VCARD" +"\n"+ "VERSION:2.1" +"\n" + "N:;" + (EditText) findViewById(R.id.mName) + "\n" +"ORG:"+"\n"+ "TEL;WORK:" +(EditText) findViewById(R.id.mNumber)+ "\n" + "END:VCARD";

    这里面就有问题
    应该是这样吧:
    ((EditText) findViewById(R.id.mName)).getText().toString()

    2019-07-17 19:41:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载