lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

ContactsContract.StatusUpdates

public static class ContactsContract.StatusUpdates
extends Object implements ContactsContract.StatusColumns, ContactsContract.PresenceColumns

java.lang.Object
   ↳ android.provider.ContactsContract.StatusUpdates


A status update is linked to a ContactsContract.Data row and captures the user's latest status update via the corresponding source, e.g. "Having lunch" via "Google Talk".

There are two ways a status update can be inserted: by explicitly linking it to a Data row using ContactsContract.PresenceColumns.DATA_ID or indirectly linking it to a data row using a combination of ContactsContract.PresenceColumns.PROTOCOL (or ContactsContract.PresenceColumns.CUSTOM_PROTOCOL) and ContactsContract.PresenceColumns.IM_HANDLE. There is no difference between insert and update, you can use either.

Inserting or updating a status update for the user's profile requires either using the ContactsContract.PresenceColumns.DATA_ID to identify the data row to attach the update to, or PROFILE_CONTENT_URI to ensure that the change is scoped to the profile.

You cannot use ContentResolver.update(Uri, ContentValues, String, String[]) to change a status, but ContentResolver.insert(Uri, ContentValues) will replace the latests status if it already exists.

Use ContentResolver.bulkInsert(Uri, ContentValues[]) to insert/update statuses for multiple contacts at once.

Columns

StatusUpdates
long ContactsContract.PresenceColumns.DATA_ID read/write Reference to the BaseColumns._ID entry that owns this presence. If this field is not specified, the provider will attempt to find a data row that matches the ContactsContract.PresenceColumns.PROTOCOL (or ContactsContract.PresenceColumns.CUSTOM_PROTOCOL) and ContactsContract.PresenceColumns.IM_HANDLE columns.
long ContactsContract.PresenceColumns.PROTOCOL read/write See ContactsContract.CommonDataKinds.Im for a list of defined protocol constants.
String ContactsContract.PresenceColumns.CUSTOM_PROTOCOL read/write Name of the custom protocol. Should be supplied along with the ContactsContract.PresenceColumns.PROTOCOL value ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM. Should be null or omitted if ContactsContract.PresenceColumns.PROTOCOL value is not ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM.
String ContactsContract.PresenceColumns.IM_HANDLE read/write The IM handle the presence item is for. The handle is scoped to ContactsContract.PresenceColumns.PROTOCOL.
String ContactsContract.PresenceColumns.IM_ACCOUNT read/write The IM account for the local user that the presence data came from.
int ContactsContract.StatusColumns.PRESENCE read/write Contact IM presence status. The allowed values are:

Since presence status is inherently volatile, the content provider may choose not to store this field in long-term storage.

int ContactsContract.StatusColumns.CHAT_CAPABILITY read/write Contact IM chat compatibility value. The allowed values combinations of the following flags. If None of these flags is set, the device can only do text messaging.

Since chat compatibility is inherently volatile as the contact's availability moves from one device to another, the content provider may choose not to store this field in long-term storage.

String ContactsContract.StatusColumns.STATUS read/write Contact's latest status update, e.g. "having toast for breakfast"
long ContactsContract.StatusColumns.STATUS_TIMESTAMP read/write The absolute time in milliseconds when the status was entered by the user. If this value is not provided, the provider will follow this logic: if there was no prior status update, the value will be left as null. If there was a prior status update, the provider will default this field to the current time.
String ContactsContract.StatusColumns.STATUS_RES_PACKAGE read/write The package containing resources for this status: label and icon.
long ContactsContract.StatusColumns.STATUS_LABEL read/write The resource ID of the label describing the source of contact status, e.g. "Google Talk". This resource is scoped by the ContactsContract.StatusColumns.STATUS_RES_PACKAGE.
long ContactsContract.StatusColumns.STATUS_ICON read/write The resource ID of the icon for the source of contact status. This resource is scoped by the ContactsContract.StatusColumns.STATUS_RES_PACKAGE.

Summary

Constants

String CONTENT_ITEM_TYPE

The MIME type of a CONTENT_URI subdirectory of a single status update detail.

String CONTENT_TYPE

The MIME type of CONTENT_URI providing a directory of status update details.

Inherited constants

Fields

public static final Uri CONTENT_URI

The content:// style URI for this table

public static final Uri PROFILE_CONTENT_URI

The content:// style URI for this table, specific to the user's profile.

Public methods

static final int getPresenceIconResourceId(int status)

Gets the resource ID for the proper presence icon.

static final int getPresencePrecedence(int status)

Returns the precedence of the status code the higher number being the higher precedence.

Inherited methods

Constants

CONTENT_ITEM_TYPE

added in API level 5
public static final String CONTENT_ITEM_TYPE

The MIME type of a CONTENT_URI subdirectory of a single status update detail.

Constant Value: "vnd.android.cursor.item/status-update"

CONTENT_TYPE

added in API level 5
public static final String CONTENT_TYPE

The MIME type of CONTENT_URI providing a directory of status update details.

Constant Value: "vnd.android.cursor.dir/status-update"

Fields

CONTENT_URI

added in API level 5
public static final Uri CONTENT_URI

The content:// style URI for this table

PROFILE_CONTENT_URI

added in API level 14
public static final Uri PROFILE_CONTENT_URI

The content:// style URI for this table, specific to the user's profile.

Public methods

getPresenceIconResourceId

added in API level 5
public static final int getPresenceIconResourceId (int status)

Gets the resource ID for the proper presence icon.

Parameters
status int: the status to get the icon for

Returns
int the resource ID for the proper presence icon

getPresencePrecedence

added in API level 5
public static final int getPresencePrecedence (int status)

Returns the precedence of the status code the higher number being the higher precedence.

Parameters
status int: The status code.

Returns
int An integer representing the precedence, 0 being the lowest.