2012-12-20 17 views
5

Ich habe ein Mifare Classic1K NFC-Tag, aber ich kann keinen Inhalt darüber schreiben. Es ist beschreibbar, scheint aber nicht in NDEF formatiert zu sein, was eine Voraussetzung dafür ist, dass Android-Geräte Daten darauf schreiben. Jeder Vorschlag ist willkommen.So formatieren Sie ein NFC-Tag im NDEF-Format

P.S: Ich habe eine TRF7960 RF Antenne, wenn das helfen kann, sie zu formatieren.

+1

sicher, das Android-Handy Machen Sie ein Telefon verwenden, die Mifare Classic-Tags lesen kann. Android unterstützt dies, aber nicht alle Android-Telefone tun dies aufgrund von Lizenzproblemen. –

Antwort

6

ein android.nfc.Tag Objekt mit dem Namen tag, Gegeben zu formatieren, verwenden Sie:

NdefFormatable formatable=NdefFormatable.get(tag); 

    if (formatable != null) { 
     try { 
     formatable.connect(); 

     try { 
      formatable.format(msg); 
     } 
     catch (Exception e) { 
      // let the user know the tag refused to format 
     } 
     } 
     catch (Exception e) { 
     // let the user know the tag refused to connect 
     } 
     finally { 
     formatable.close(); 
     } 
    } 
    else { 
     // let the user know the tag cannot be formatted 
    } 
+0

Kann dieser Code auch formatiert werden, wenn er gerade nicht im NDEF-Format vorliegt? – pansp

+2

@pansp: Wenn das Tag NDEF-formatiert ist, ja. Nicht gezeigt ist ein Code, um zu erkennen, ob er bereits im NDEF-Format vorliegt oder nicht. Sie können das vollständige Beispielprojekt sehen, das ich von hier gezogen habe: https://github.com/commonsguy/cw-omnibus/tree/master/NFC/SecretAgentMan – CommonsWare

+1

Ich erhalte formatable Wert Null –

Verwandte Themen