2016-01-12 1 views
1

Je dois enregistrer dans les contacts si le qr code contient une carte v. J'essayais de le faire avec la bibliothèque this mais je ne pouvais pas lire les informations de la carte v, je ne sais pas quelle méthode est à utiliser pour cela. J'ai vu beaucoup d'autres articles similaires, mais malheureusement, ceux-ci ne pouvaient pas me sauver. J'utilise zxing library pour lire les codes qr.Comment enregistrer la vcard du code qr aux contacts

Répondre

3

vCard est en fait un peu verbeux. Vous pouvez utiliser le MECARD format à la place.

Ici vous pouvez voir un exemple de chaîne de la ZXing Wiki:

MECARD:N:Owen,Sean;ADR:76 9th Avenue, 4th Floor, New York, NY 10011;TEL:12125551212;EMAIL:[email protected];; 

maintenant pour le format vCard, je peux voir, il y a une classe nommée VCardResultParser dans la javadoc ZXing, et apparemment il prend en charge vCard v2.1. J'ai fait ce petit exemple dépouillant certains champs de l'exemple dans le wikipedia page for vCard:

BEGIN:VCARD 
VERSION:2.1 
N:Gump;Forrest 
ORG:Bubba Gump Shrimp Co. 
TEL;WORK;VOICE:555 
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;USA 
EMAIL;PREF;INTERNET:[email protected] 
END:VCARD 

Dans les deux cas, il vous suffit de sérialiser les champs à une chaîne de texte brut puis vous encodez sur un QRCode comme d'habitude. J'ai testé les deux exemples avec un téléphone Samsung et lorsque vous les numérisez avec ZXing, le bouton le plus à gauche vous permet d'ajouter un nouveau contact. L'application Contacts s'ouvre, vous appuyez sur le bouton "+" et un nouveau contact est créé avec les champs fournis remplis.