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
-1
A
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
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 –