【发布时间】:2016-01-12 10:34:11
【问题描述】:
如果qr code 包含 v 卡,我需要保存到联系人。我试图用this 库来做到这一点,但我无法读取 v 卡信息,我不知道该使用哪种方法。我看过很多其他类似的帖子,但不幸的是那些都救不了我。我正在使用zxing library 读取二维码。
【问题讨论】:
标签: android qr-code zxing vcf-vcard
如果qr code 包含 v 卡,我需要保存到联系人。我试图用this 库来做到这一点,但我无法读取 v 卡信息,我不知道该使用哪种方法。我看过很多其他类似的帖子,但不幸的是那些都救不了我。我正在使用zxing library 读取二维码。
【问题讨论】:
标签: android qr-code zxing vcf-vcard
vCard 实际上有点冗长。您可以改用MECARD format。
在这里您可以看到来自ZXing Wiki 的示例字符串:
MECARD:N:Owen,Sean;ADR:76 9th Avenue, 4th Floor, New York, NY 10011;TEL:12125551212;EMAIL:srowen@example.com;;
现在对于 vCard 格式,我可以看到 ZXing javadoc 中有一个名为 VCardResultParser 的类,显然它支持 vCard v2.1。我做了这个小例子,从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:forrestgump@example.com
END:VCARD
在这两种情况下,您只需将字段序列化为纯文本字符串,然后像往常一样将其编码为 QRCode。我用三星手机测试了这两个例子,当你用 ZXing 扫描它们时,最左边的按钮允许你添加一个新联系人。联系人应用程序打开,您按“+”按钮并创建一个新联系人,并填写所提供的字段。
【讨论】: