2012-06-15 3 views
3

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

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

ответ

4

Вы можете использовать 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(); 
}