2013-05-31 2 views
2

Привет, Я пытаюсь получить изображения контактов с контактами приложения. Является ли это возможным? где хранятся все фотографии пользователей? Спасибо!Get What's app contacts profile profile android

+0

Любые изменения на этом? –

ответ

5

Приложение не предоставляет API для доступа к своим фотографиям профиля.

0

Это правда, что для этого не существует API WhatsApp, но это, безусловно, возможно.

Вы можете найти контактные изображения с помощью классов Android ContactsContract.

Существует два типа контактов в базе данных андроид - RawContact и Contact. Последнее представляет собой агрегацию (представляющую человека) из набора первых (представляющих отдельные счета).

Я предлагаю вам сначала убедиться, что фотография зашифрована на устройстве (просто чтобы избежать ложных флагов во время тестирования), откройте полное изображение контактов в WhatsApp, и вы можете быть уверены, что он кэширован), тогда вы получите его программным способом (из API 14):

ContentResolver cr = getContentResolver(); 

Cursor contactCursor = cr.query(
     ContactsContract.RawContacts.CONTENT_URI, 
     new String[] { ContactsContract.RawContacts._ID, ContactsContract.RawContacts.CONTACT_ID } , 
     ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?", 
     new String[] { "com.whatsapp" }, null); 
if (contactCursor != null && contactCursor .moveToFirst()) { 
    String whatsappContactId = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID)); 
    Uri photoId = ContentUris.withAppendedId(RawContacts.CONTENT_URI, whatsappContactId); 
    Uri photoUri = Uri.withAppendedPath(photoId, RawContacts.DisplayPhoto.CONTENT_DIRECTORY); 
} 
+0

не может получить изображение с фотоUri. – Rakesh