Tôi vừa mới bắt đầu mã hóa bằng NFC Android, tôi đã đọc và ghi thành công dữ liệu NDEF vào thẻ cổ điển mifare. Vấn đề là khi ứng dụng đọc tải trọng từ bản ghi ndef, nó luôn chứa ký tự '* en' ở đầu văn bản. Tôi nghĩ rằng đó là nhân vật ngôn ngữ, nhưng làm thế nào để có được tin nhắn văn bản thực sự mà không có nhân vật đó?Nhân vật lạ trên tải trọng bản ghi NDEF của Android
Đây là ảnh chụp màn hình những gì ứng dụng đọc từ thẻ nhưng văn bản thực là 'Hello World'
Dưới đây là đoạn code để đọc
@Override
public void onNewIntent(Intent intent) {
Log.i("Foreground dispatch", "Discovered tag with intent: " + intent);
// mText.setText("Discovered tag NDEF " + ++mCount + " with intent: " + intent);
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs != null) {
NdefMessage[] msgs = new NdefMessage[rawMsgs.length];
for (int i = 0; i < rawMsgs.length; i++) {
msgs[i] = (NdefMessage) rawMsgs[i];
}
NdefMessage msg = msgs[0];
try {
mText.setText(new String(msg.getRecords()[0].getPayload(), "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Tôi nghĩ "vi" xuất phát từ "tiếng Anh". Tôi gần như chắc chắn bạn đã vô tình thêm mã ngôn ngữ. Nếu bạn thay đổi thẻ ngôn ngữ trong xml của bạn, bạn có thể nhận được một chuỗi ký tự khác. Hãy thử điều đó, bởi vì cách này ít nhất bạn sẽ biết nơi nào en đến từ và bạn có thể tìm kiếm trên google cho một giải pháp. –
Nếu bạn có thể đăng mã viết thẻ, nó sẽ hữu ích. Bạn đã thử sử dụng ứng dụng của người khác để đọc thẻ của bạn để xem nó có phải là cách bạn viết thẻ hay không hoặc liệu đó có phải là cách bạn đọc nó không? (Nếu nó hiển thị cùng một thông tin như trong Ndef Message, đó là một vấn đề ghi, nếu nó chỉ hiển thị "Hello World ..." thì đó là vấn đề đã đọc.) –
Lajos, Ben ... cảm ơn nhận xét của bạn , tôi đã thử sử dụng ứng dụng khác, thông tin thẻ NFC, ứng dụng hiển thị 'Hello World'.Btw Tôi đã tìm thấy vấn đề, như Nils Pipenbrik giải thích dưới đây. Liên kết này http://code.google.com/p/openmobster/wiki/NFC hiển thị cách đọc dữ liệu tải trọng chính xác. –