使用 ZXing 在 Android 上对联系人信息 (MeCard) 进行编码
Posted
技术标签:
【中文标题】使用 ZXing 在 Android 上对联系人信息 (MeCard) 进行编码【英文标题】:Encode contact info (MeCard) on Android using ZXing 【发布时间】:2011-10-25 02:07:07 【问题描述】:我需要使用MeCard 格式的联系信息创建二维码。我需要对以下字段进行编码:
姓名 (N:) 网址(网址:) 注意(注意:)我可以使用 ZXing QR Code Generator 正确创建所有 3 个字段(这是下面示例中的 generated QR code)。但是它不适用于 android 模拟器上的 ZXing 应用程序。我正在使用这个 sn-p:
Intent i = new Intent("com.google.zxing.client.android.ENCODE");
Bundle data = new Bundle();
data.putString(Contacts.Intents.Insert.NAME, "name1");
data.putString("url", "http://www");
//data.putString(Contacts.Intents.Insert.POSTAL, "http://www");
data.putString(Contacts.Intents.Insert.NOTES, "xyz");
i.putExtra("ENCODE_TYPE", "CONTACT_TYPE");
i.putExtra("ENCODE_DATA", data);
startActivity(i);
结果:ZXing 应用只编码name
字段。
1.) 我该如何解决这个问题? 希望不要在名称字段中转储所有内容。
2.) 是否有任何替代库支持编码? ZXing 似乎是最受欢迎的。
【问题讨论】:
注意:您现在可以分别使用URL_KEY
和NOTE_KEY
作为intent 中extra 的键对URL 和NOTE 字段进行编码。
【参考方案1】:
你没有做错什么,只是 Intent 不支持注释或 URL。
【讨论】:
欢迎您提供补丁!它是开源的。 code.google.com/p/zxing【参考方案2】:可以对 url 进行编码。 只需使用: data.putString("email","http://www.xyz.com");
【讨论】:
以上是关于使用 ZXing 在 Android 上对联系人信息 (MeCard) 进行编码的主要内容,如果未能解决你的问题,请参考以下文章
android zxing扫码 扫描二维码有对焦的黄点怎么去除