2017-12-17 3 views

답변

1

연락처 ID를 사용하여 모든 연락처 정보를 가져 오는 코드 스 니펫.

public static ModelContact getContactDetails(final Context context, String contactId) { 

     ModelContact contact = new ModelContact(); 
     contact.setContactId(contactId); 

     Cursor cursor = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI, 
       new String[]{ContactsContract.Data._ID, 
         ContactsContract.Data.MIMETYPE, 
         ContactsContract.Data.DISPLAY_NAME, 
         ContactsContract.Data.RAW_CONTACT_ID, 
         ContactsContract.Data.LOOKUP_KEY, 
         ContactsContract.Data.DATA1, 
         ContactsContract.Data.DATA2, 
         ContactsContract.Data.DATA3, 
         ContactsContract.Data.DATA4, 
         ContactsContract.Data.DATA5, 
         ContactsContract.Data.DATA6, 
         ContactsContract.Data.DATA7, 
         ContactsContract.Data.DATA8, 
         ContactsContract.Data.DATA10}, 

       ContactsContract.Data.CONTACT_ID + "=?" + " AND " 
         + "(" + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' OR " 
         + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE + "' OR " 
         + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE + "' OR " 
         + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE + "' OR " 
         + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE + "')", 
       new String[]{contactId}, null); 

     if (cursor != null && cursor.getCount() > 0) { 

      while (cursor.moveToNext()) { 
       String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME)); 
       contact.setDisplayName(displayName); 
       String rowContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.RAW_CONTACT_ID)); 
       contact.setRawContactId(rowContactId); 
       String lookUpKey = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.LOOKUP_KEY)); 
       contact.setLookupKey(lookUpKey); 

       String mimeType = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.MIMETYPE)); 
       if (mimeType.equals(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)) { 
        setPhoneList(cursor, contact); 
       } else if (mimeType.equals(ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)) { 
        setEmailList(cursor, contact); 
       } else if (mimeType.equals(ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)) { 
        setStructuredName(cursor, contact); 
       } else if (mimeType.equals(ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)) { 
        setOrganization(cursor, contact); 
       } else if (mimeType.equals(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)) { 
        setAddress(cursor, contact); 
       } 
      } 

      cursor.close(); 
     } 
     return contact; 
    } 

자세한 내용은 다음 링크를 확인하십시오.

ContactHelper.java

나는 당신을 도움이되기를 바랍니다.

+0

그것으로 들여다 보면. 감사합니다 –

+0

이 링크는 질문에 대한 답변 일지 모르지만 여기에 답변의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품질 게시물/18281336) – Aryan

+0

@Aryan 님의 제안에 감사드립니다. –

관련 문제