2011-08-16 69 views
4

連絡先のリストと基本情報(名前など)を取得することができます。連絡先のリストとさまざまな情報タイプの他の特定のURIのリストにContactsContract.Contacts.CONTENT_URIを使用して、バックアップ用の電話、電子メール、IM、メモ、組織を作成します。Androidの連絡先に問い合わせてACCOUNT_TYPEとACCOUNT_NAMEを取得する

私は完全にすべての情報、さらに2つのフィールドを復元するために、必要があります。

ContactsContract.RawContacts.ACCOUNT_TYPE

ContactsContract.RawContacts.ACCOUNT_NAME

誰がどのように私を導くことができますこの情報を取得するには、ContactsContracts.Contacts.CONTENT_URIから連絡先IDを知っていますか?

答えて

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); 
    } 
ありがとう
関連する問題