Кодировать контактную информацию (MeCard) на Android с помощью ZXing - PullRequest
5 голосов
/ 11 августа 2011

Мне нужно создать QR-код из контактной информации в формате MeCard .Мне нужно закодировать следующее поле:

  • Имя (N:)
  • URL (URL:)
  • Примечание (ПРИМЕЧАНИЕ:)

Я могу правильно создать все 3 поля, используя ZXing QR Code Generator (вот сгенерированный QR-код из приведенного ниже примера).Однако он не работает с приложением ZXing на эмуляторе Android.Я использую этот фрагмент:

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.

enter image description here

1.)Как я могу решить эту проблему? Надеюсь, не выкидывая все в поле имени.

2.) Существуют ли альтернативные библиотеки, поддерживающие кодировку? ZXing кажется наиболее популярным.

Ответы [ 2 ]

1 голос
/ 11 августа 2011

Вы не делаете ничего плохого, это значит, что Intent не поддерживает заметку или URL.

0 голосов
/ 01 сентября 2011

возможно закодировать URL.просто используйте: data.putString ("email", "http://www.xyz.com");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...