Я нашел текст Android NFC API и руководство разработчика немного сложным для подражания, поэтому здесь может помочь небольшой пример кода.На самом деле это порт MIDP-кода, который я использовал в устройствах Nokia 6212, так что я, вероятно, еще не все правильно понял в API NFC Android, но по крайней мере это сработало для меня.
Сначаламы создаем запись NDEF:
private NdefRecord createRecord() throws UnsupportedEncodingException {
String text = "Hello, World!";
String lang = "en";
byte[] textBytes = text.getBytes();
byte[] langBytes = lang.getBytes("US-ASCII");
int langLength = langBytes.length;
int textLength = textBytes.length;
byte[] payload = new byte[1 + langLength + textLength];
// set status byte (see NDEF spec for actual bits)
payload[0] = (byte) langLength;
// copy langbytes and textbytes into payload
System.arraycopy(langBytes, 0, payload, 1, langLength);
System.arraycopy(textBytes, 0, payload, 1 + langLength, textLength);
NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN,
NdefRecord.RTD_TEXT,
new byte[0],
payload);
return record;
}
Затем мы записываем запись в виде сообщения NDEF:
private void write(Tag tag) throws IOException, FormatException {
NdefRecord[] records = { createRecord() };
NdefMessage message = new NdefMessage(records);
// Get an instance of Ndef for the tag.
Ndef ndef = Ndef.get(tag);
// Enable I/O
ndef.connect();
// Write the message
ndef.writeNdefMessage(message);
// Close the connection
ndef.close();
}
Чтобы записать в тег, вам, очевидно, нужен объект Tag, который вы можетеполучить от намерения.