2013-11-22 5 views

ответ

2

Что именно вы хотите достичь? Сообщение 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); 
+0

@MR hiii Я видел вас, вы, скорее всего, даете такой замечательный ответ практически во всех вопросах «NFC». Можете ли вы помочь мне немного? Я только начал работать над «NFC Custom Tag», прочитав и написал, и я успешно с этим справился. Теперь, я хочу стереть мои данные тегов с 'NFC'. Так что, PLZ дать мне любую идею или любой намек ... Любая помощь будет оценена. –

 Смежные вопросы

  • Нет связанных вопросов^_^