ContactsContract.Contracts实现了4个接口,并从4个接口中,继承了不同的字段,一共有23个如下:

ContactsContract.Contacts.TIMES_CONTACTED = "times_contacted"

The number of times a contact has been contacted

ContactsContract.Contacts.CONTACT_STATUS = "contact_status"

Contact's latest status update.

ContactsContract.Contacts.CUSTOM_RINGTONE = "custom_ringtone"

URI for a custom ringtone associated with the contact. If null or missing, the default ringtone is used.

ContactsContract.Contacts.HAS_PHONE_NUMBER = "has_phone_number"

An indicator of whether this contact has at least one phone number. "1" if there is at least one phone number, "0" otherwise.

ContactsContract.Contacts.PHONETIC_NAME = "phonetic_name"

Pronunciation of the full name in the phonetic alphabet specified by PHONETIC_NAME_STYLE.

ContactsContract.Contacts.PHONETIC_NAME_STYLE = "phonetic_name_style"

The phonetic alphabet used to represent the PHONETIC_NAME. See PhoneticNameStyle.

ContactsContract.Contacts.CONTACT_STATUS_LABEL = "contact_status_label"

The resource ID of the label describing the source of contact status, e.g. "Google Talk". This resource is scoped by the CONTACT_STATUS_RES_PACKAGE.

ContactsContract.Contacts.LOOKUP_KEY = "lookup"

An opaque value that contains hints on how to find the contact if its row id changed as a result of a sync or aggregation.

ContactsContract.Contacts.CONTACT_STATUS_ICON = "contact_status_icon"

The resource ID of the icon for the source of contact status. This resource is scoped by the

CONTACT_STATUS_RES_PACKAGE.

ContactsContract.Contacts.LAST_TIME_CONTACTED = "last_time_contacted"

The last time a contact was contacted.

ContactsContract.Contacts.DISPLAY_NAME = "display_name"

The display name for the contact.

ContactsContract.Contacts.SORT_KEY_ALTERNATIVE = "sort_key_alt"

Sort key based on the alternative representation of the full name, DISPLAY_NAME_ALTERNATIVE. Thus for Western names, it is the one using the "family name first" format.

ContactsContract.Contacts.IN_VISIBLE_GROUP = "in_visible_group"

Lookup value that reflects the GROUP_VISIBLE state of any ContactsContract.CommonDataKinds.GroupMembership for this contact.

ContactsContract.Contacts._ID = "_id"

The unique ID for a row.

ContactsContract.Contacts.STARRED = "starred"

Is the contact starred?

ContactsContract.Contacts.SORT_KEY_PRIMARY = "sort_key"

Sort key that takes into account locale-based traditions for sorting names in address books.

ContactsContract.Contacts.DISPLAY_NAME_ALTERNATIVE = "display_name_alt"

An alternative representation of the display name, such as "family name first" instead of "given name first" for Western names. If an alternative is not available, the values should be the same as DISPLAY_NAME_PRIMARY

ContactsContract.Contacts.CONTACT_PRESENCE = "contact_presence"

Contact presence status. See ContactsContract.StatusUpdates for individual status definitions.

ContactsContract.Contacts.DISPLAY_NAME_SOURCE = "display_name_source"

The kind of data that is used as the display name for the contact, such as structured name or email address. See DisplayNameSources. TODO: convert DisplayNameSources to a link after it is un-hidden

ContactsContract.Contacts.CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package"

The package containing resources for this status: label and icon.

ContactsContract.Contacts.CONTACT_STATUS_TIMESTAMP = "contact_status_ts"

The absolute time in milliseconds when the latest status was inserted/updated.

ContactsContract.Contacts.PHOTO_ID = "photo_id"

Reference to the row in the data table holding the photo.

ContactsContract.Contacts.SEND_TO_VOICEMAIL = "send_to_voicemail"

Whether the contact should always be sent to voicemail. If missing, defaults to false.

 

    listColumnNames()            

 
  
  1. private Uri contactUri = ContactsContract.Contacts.; 
  2.  
  3. ContentResolver resolver = this.getContentResolver(); 
  4.  
  5. Cursor cursor = resolver.query(contactUri, nullnullnullnull); 
  6.  
  7. int columnNumber = cursor.getColumnCount(); 
  8.  
  9. for(int i = 0; i < columnNumber; i++) 
  10.  
  11.     String temp = cursor.getColumnName(i); 
  12.  
  13.     Log.e("listColumnNames""" + i + "\t" + temp); 
  14.  
  15.     cursor.close();