android nfc read-only write
public void writeTag(NdefMessage message, Tag tag) {
int size = message.toByteArray().length;
try {
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
ndef.connect();
if (!ndef.isWritable()) {
Toast.makeText(getApplicationContext(), "쓸수 없는 NFC 태그입니다",
Toast.LENGTH_SHORT).show();
}
if (ndef.getMaxSize() < size) {
Toast.makeText(getApplicationContext(),
"NFC 태그 크기가 너무 큽니다", Toast.LENGTH_SHORT).show();
}
ndef.writeNdefMessage(message);
tagWirte = true;
} else {
NdefFormatable format = NdefFormatable.get(tag);
if (format != null) {
try {
format.connect();
format.formatReadOnly(message);
format.format(message);
Toast.makeText(getApplicationContext(), "태그를 포맷합니다",
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
}
} else {
}
}
} catch (Exception e) {
}
}