Я создаю приложение NFC. Я noob на Android, это мое второе приложение. Мне было интересно, знает ли кто, как создать сообщение, которое стирает тег NFC. Эта функция видна в таких приложениях, как TagWriter.Как создать сообщение NDEF, которое удаляет тег NFC
ответ
Что именно вы хотите достичь? Сообщение NDEF представляет собой пакет данных, который вы храните в теге NFC, поэтому «стирание» несколько противоречит «созданию сообщения NDEF». Тем не менее, то, что вы можете сделать, это создать сообщение ЦНК с одной пустой ЦНК записи:
NdefMessage msg = new NdefMessage(new NdefRecord[] {
new NdefRecord(NdefRecord.TNF_EMPTY, null, null, null)
});
ndefTag.writeNdefMessage(msg);
Но имейте в виду, что писать это сообщение с тегом будет скрывать и частично перезаписать любые уже существующие сообщения ЦНК по тегу , однако он будет не стереть все данные по тегу. Например, если ранее существовавшее сообщение в теге было больше, чем новое сообщение, некоторые части данных старого сообщения могут все еще сохраняться в теге.
Поэтому, если вы хотите переписать все данные тега, вы можете создать фиктивную запись, содержащую столько же данных, сколько может быть сохранено в теге (вы можете определить максимальный размер сообщения NDEF с помощью Ndef.getMaxSize()
, но вы должны учитывать байты заголовков при создании вашей записи). После записи этой фиктивной записи вы можете снова написать пустое сообщение NDEF, как описано выше.
NdefMessage msg = new NdefMessage(new NdefRecord[] {
new NdefRecord(NdefRecord.TNF_UNKNOWN, null, null,
new byte[ndefTag.getMaxSize() - messageOverhead])
});
ndefTag.writeNdefMessage(msg);
@MR hiii Я видел вас, вы, скорее всего, даете такой замечательный ответ практически во всех вопросах «NFC». Можете ли вы помочь мне немного? Я только начал работать над «NFC Custom Tag», прочитав и написал, и я успешно с этим справился. Теперь, я хочу стереть мои данные тегов с 'NFC'. Так что, PLZ дать мне любую идею или любой намек ... Любая помощь будет оценена. –