2011-08-16 29 views
4

연락처 및 기본 정보 (예 : name) 목록을 얻을 수 있습니다. 주소록 및 다른 정보 유형에 대한 기타 특정 URI에 ContactsContract.Contacts.CONTENT_URI을 사용하여 백업용으로 전화, 전자 메일, 메신저, 메모, 조직을 구성 할 수 있습니다. 이 Android 연락처에 문의하여 ACCOUNT_TYPE 및 ACCOUNT_NAME을 받으십시오.

이 사람이 나를 어떻게 인도 할 수

ContactsContract.RawContacts.ACCOUNT_TYPE

ContactsContract.RawContacts.ACCOUNT_NAME

을 :

나는 완전히 모든 정보를 두 개 더 필드를 복원하기 위해 필요 연락처 정보를 ContactsContracts.Contacts.CONTENT_URI에서 알면이 정보를 얻을 수 있습니까?

당신에게

답변

10
public ContactAccount getContactAccount(Long id,ContentResolver contentResolver) { 

     ContactAccount account = null; 

     Cursor cursor = null; 
     try { 

      cursor = contentResolver.query(ContactsContract.RawContacts.CONTENT_URI, 
        new String[]{ContactsContract.RawContacts.ACCOUNT_NAME, ContactsContract.RawContacts.ACCOUNT_TYPE}, 
        ContactsContract.RawContacts.CONTACT_ID +"=?", 
        new String[]{String.valueOf(id)}, 
        null); 

      if (cursor != null && cursor.getCount() >0) 
      { 
       cursor.moveToFirst(); 
       account = new ContactAccount(); 
       account.setAccountName(cursor.getString(cursor.getColumnIndex(ContactsContract.RawContacts.ACCOUNT_NAME))); 
       account.setAccountType(cursor.getString(cursor.getColumnIndex(ContactsContract.RawContacts.ACCOUNT_TYPE))); 
       cursor.close(); 
      } 
     } catch (Exception e) { 
      Utils.log(this.getClass().getName(), e.getMessage()); 
     } finally{ 
      cursor.close(); 
     } 

     return(account); 
    } 
감사