Получить изображение профиля из Google Talk с Asmack в Android

Я использую Asmack для связи с Google Talk (Android).
Я могу получить имя, адрес электронной почты.
Я посмотрел эту ссылку. Оно использует "http://profiles.google.com/s2/photos/profile/" + userid + "?sz=" + size; для профиля изображения Google Talk.

Как получить идентификатор пользователя в asmack?
Или какие-либо другие способы я могу сделать, чтобы получить изображение профиля Google Talk?

1 ответ

Решение

Ты можешь использовать VCard загрузить данные любого пользователя, используя asmack,

Получить изображение профиля из Google Talk?

VCard vCard = new VCard();
SmackConfiguration.setPacketReplyTimeout(300000);
ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp",
                    new VCardProvider());
vCard.load(connection, user_mail_id);
Log.d("Vcard XML", vCard.toXML()); // complete VCard information
byte[] bs = vCard.getAvatar();   // Avtar in byte array convert it to Bitmap

Как получить идентификатор пользователя в asmack?

Вы должны перебрать записи реестра, чтобы получить user_mail_id,

Roster roster = connection.getRoster();
Collection<RosterEntry> rosterEntries = roster.getEntries();

for (RosterEntry entry : rosterEntries) {
   String user_mail_id = entry.getUser();
}
Другие вопросы по тегам