2016-04-11 6 views
-1

Gibt es ein Tutorial oder ein Beispiel, das erklärt, wie ich meinem Android-Programm einen bestimmten Kontakt (Name und Telefonnummer) zum NFC-Tag schreiben kann. Wenn der Benutzer also das Tag mit seinem Telefon berührt, speichert es den Kontakt zu seinen Telefonkontakten?Einen Kontakt zum NFC-Tag auf Android schreiben

+0

Sie können Name und Telefonnummer auf NFC-Tag mit der Anwendung namens " NFC Tools 'und lesen Sie die Karte enthalten unter Verwendung von Link: http://code.tutsplus.com/tutorials/reading-nfc-tags-with-android--mobile-17278 Link –

Antwort

2

Ja. Verwenden des VCARD-Typs.

In Ihrem NFC Ereignis Absicht Handler, diese Methode verwenden, um Ihre NdefRecord zu bauen:

public NdefRecord createVcardRecord(String name, String org, String tel, String email) 
     throws UnsupportedEncodingException { 

    String payloadStr = "BEGIN:VCARD" +"\n"+ 
         "VERSION:2.1" +"\n" + 
         "N:;" + name + "\n" + 
         "ORG:"+org+"\n"+ 
         "TEL:"+tel+"\n"+ 
         "EMAIL:"+email+"\n 
         "+"END:VCARD"; 
    byte[] uriField = payloadStr.getBytes(Charset.forName("US-ASCII")); 
    byte[] payload = new byte[uriField.length + 1]; 
    System.arraycopy(uriField, 0, payload, 1, uriField.length); 
    NdefRecord nfcRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, 
      "text/vcard".getBytes(), 
      new byte[0], 
      payload); 

    return nfcRecord; 
} 

Dann den Datensatz Ihre Aufzeichnungen Array hinzufügen:

NdefRecord[] records = new NdefRecord[1]; 
records[0] = createVcardRecord("Henry", "Henry's Company", "0412345678", "[email protected]"); 

Übergeben Sie die Aufzeichnungen Array in eine NdefMessage und Sie sind bereit zu schreiben:

NdefMessage message = new NdefMessage(records); 
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 
writeToTag(message, tag); // your tag writing function 
+0

@DigitalPerson: Angenommen, das funktioniert, können Sie bitte markiere diese Frage beantwortet? – henrycjc