2013-12-20 3 views
-3

У меня есть один компонент ImageView и хочет, чтобы загрузить изображение из контактаКак загрузить изображение из контакта в ImageView

У меня есть этот URI

content://com.android.contacts/contacts/799/photo 

Что я должен делать ??

+4

Что вы пытаетесь до сих пор ?? – Jhanvi

+0

@Dhruv Patel Посмотрите мой ответ. – GrIsHu

ответ

0

Попробуйте, как показано ниже:

public Uri getContactImage() { 
    try { 
     Cursor cur = this.ctx.getContentResolver().query(
       ContactsContract.Data.CONTENT_URI, 
       null, 
       ContactsContract.Data.CONTACT_ID + "=" + this.getId() + " AND " 
         + ContactsContract.Data.MIMETYPE + "='" 
         + ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE + "'", null, 
       null); 
     if (cur != null) { 
      if (!cur.moveToFirst()) { 
       return null; // no photo 
      } 
     } else { 
      return null; // error in cursor process 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } 
    Uri person = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long 
      .parseLong(getId())); 
    return Uri.withAppendedPath(person, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY); 
} 

Использование выше метода, как показано ниже:

Uri u = getContactImage(); 
if (u != null) { 
     mImageView.setImageURI(u); 
} else { 
     mImageView.setImageResource(R.drawable.ic_launcher); 
} 
+0

да, это работает. –

1

Если вы посмотрите here, вы можете найти, как получить входной поток для изображения.

Затем сделайте BitmapFactory.decodeStream(stream), чтобы получить растровое изображение.

Выражаясь зрения, сделать myImageView.setImageBitmap(bitmap)

+0

So.Can вы даете мне пример кода «фото с контакта», потому что я упоминал, что может быть учебным пособием, но с ошибкой –

Смежные вопросы