使用ZXing在Android上编码联系信息(MeCard)

时间:2011-08-11 15:04:37

标签: java android qr-code android-contacts zxing

我需要从MeCard格式的联系信息创建QR码。我需要编码以下字段:

  • 姓名(N:)
  • 网址(网址:)
  • 注意(注意:)

我可以使用ZXing QR Code Generator正确创建所有3个字段(以下是此示例中的generated QR code)。但是它不能与Android模拟器上的ZXing应用程序一起使用。我正在使用这个代码段:

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 app仅对name字段进行编码。

enter image description here

1.。)如何解决此问题?希望不会在名称字段中转储所有内容。

2。)是否有其他库支持编码? ZXing似乎是最受欢迎的。

2 个答案:

答案 0 :(得分:1)

你没有做错任何事,就是说Intent不支持音符或网址。

答案 1 :(得分:0)

可以对网址进行编码。 只需使用: data.putString( “电子邮件”, “http://www.xyz.com”);