使用 N 和 ADR 对 vCard 进行编码并在 Android (ICS 4.0.4) 上使用 Barcode Scanner 4.3.2 对其进行解码并将其添加为联系人的效果非常差:分隔字段(由像这样的半列分隔 N:Last;First; ;;) 中的名称和地址不会被保留。URL 也被转换为“Note”。Android 中没有二维码扫描器保留此功能的原因是什么。顺便说一句,我尝试过的其他 QR 扫描仪(Qr Barcode、Qr Droid)表现更差:他们不尊重 TEL;WORK:TEL;MOBILE:ADR;WORK:(WORK 替换为 home 等)。
我仍然可以怀疑 vCard 中的某些严格格式或版本使 QR 解码器在 Android 中接触口吃,但我怀疑。
例如,我使用 goqr.me 对其进行编码:
BEGIN:VCARD
VERSION:2.1
FN:FN LN
N:LN;FN
TITLE:Title
TEL;CELL:+33666
TEL;WORK;VOICE:+33999
TEL;HOME;VOICE:+33000
EMAIL;HOME;INTERNET:home@home
EMAIL;WORK;INTERNET:work@work
URL:http://my.not
ADR:;;Street, Nb;City;;37000;Country
ORG:organz
END:VCARD
条形码扫描仪上的结果是可以接受的(尽管:没有名字/姓氏分隔符和两个空格字符而不是它们之间的一个空格字符,地址和 URL 中没有保留的分隔符没有被解码,但作为注释)。忘记上面提到的其他 Android 扫描仪:Barcod Scanner + 错误的电话和地址类型,标题被忽略,url 被忽略......已经遇到了所有不准确之处
有没有办法改善这一点?限制/瓶颈在哪里:用于添加联系人、QR 通讯录格式和解码限制的 API?
经过数小时的工作和尝试在二维码中编码 vCard 的方法(仅在 Android 上),在我看来,这在概念上是半生不熟的。我错过了什么?谢谢你。