[안드로이드] 주소록에 있는 사진 얻어오기

 안드로이드 주소록에 있는 사진을 Bitmap 으로 얻어올 수 있는 방법입니다. 아래와 같은 함수를 이용하여 주소록에 있는 사진을 얻어올 수 있습니다.

[code java]
 public static Bitmap loadContactPhoto(ContentResolver cr, long  id) {
     Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
     InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
     if (input == null) {
         return null;
     }
     return BitmapFactory.decodeStream(input);
 }
[/code]

 첫번째 인자는 context의 getContentResolver() 함수로 얻어와서 넣어주면 되고, 두번째 인자는 주소록의 ID 값을 넣어주면 됩니다. 제가 구현해 봤을 때 Data.RAW_CONTACT_ID 값을 넣어주면 정상적으로 나왔습니다. 만약 이미지가 없을 경우에는 R.drawable.ic_contact_picture 값을 화면에 출력해주면 기본 주소록과 같이 보이게 될 수 있습니다.

참고 : http://stackoverflow.com/questions/2383580/android-how-do-i-load-a-contact-photo

1 thought on “[안드로이드] 주소록에 있는 사진 얻어오기

답글 남기기

이메일 주소는 공개되지 않습니다.