Skip to content

Most visited

Recently visited

navigation

VoicemailContract

public class VoicemailContract
extends Object

java.lang.Object
   ↳ android.provider.VoicemailContract


The contract between the voicemail provider and applications. Contains definitions for the supported URIs and columns.

The content providers exposes two tables through this interface:

  • Voicemails table: This stores the actual voicemail records. The columns and URIs for accessing this table are defined by the VoicemailContract.Voicemails class.
  • Status table: This provides a way for the voicemail source application to convey its current state to the system. The columns and URIS for accessing this table are defined by the VoicemailContract.Status class.

The minimum permission needed to access this content provider is ADD_VOICEMAIL

Voicemails are inserted by what is called as a "voicemail source" application, which is responsible for syncing voicemail data between a remote server and the local voicemail content provider. "voicemail source" application should always set the PARAM_KEY_SOURCE_PACKAGE in the URI to identify its package.

In addition to the ContentObserver notifications the voicemail provider also generates broadcast intents to notify change for applications that are not active and therefore cannot listen to ContentObserver notifications. Broadcast intents with following actions are generated:

Summary

Nested classes

class VoicemailContract.Status

Defines fields exposed through the /status path of this content provider. 

class VoicemailContract.Voicemails

Defines fields exposed through the /voicemail path of this content provider. 

Constants

String ACTION_FETCH_VOICEMAIL

Broadcast intent to request a voicemail source to fetch voicemail content of a specific voicemail from the remote server.

String ACTION_NEW_VOICEMAIL

Broadcast intent when a new voicemail record is inserted.

String ACTION_SYNC_VOICEMAIL

Broadcast intent to request all voicemail sources to perform a sync with the remote server.

String AUTHORITY

The authority used by the voicemail provider.

String EXTRA_PHONE_ACCOUNT_HANDLE

Extra included in ACTION_SYNC_VOICEMAIL broadcast intents to indicate which PhoneAccountHandle to sync.

String EXTRA_SELF_CHANGE

Extra included in ACTION_PROVIDER_CHANGED broadcast intents to indicate if the receiving package made this change.

String PARAM_KEY_SOURCE_PACKAGE

Parameter key used in the URI to specify the voicemail source package name.

Inherited methods

From class java.lang.Object

Constants

ACTION_FETCH_VOICEMAIL

Added in API level 14
String ACTION_FETCH_VOICEMAIL

Broadcast intent to request a voicemail source to fetch voicemail content of a specific voicemail from the remote server. The voicemail to fetch is specified by the data uri of the intent.

All voicemail sources are expected to handle this event. After storing the content the application should also set HAS_CONTENT to 1;

Constant Value: "android.intent.action.FETCH_VOICEMAIL"

ACTION_NEW_VOICEMAIL

Added in API level 14
String ACTION_NEW_VOICEMAIL

Broadcast intent when a new voicemail record is inserted.

Constant Value: "android.intent.action.NEW_VOICEMAIL"

ACTION_SYNC_VOICEMAIL

Added in API level 24
String ACTION_SYNC_VOICEMAIL

Broadcast intent to request all voicemail sources to perform a sync with the remote server.

Constant Value: "android.provider.action.SYNC_VOICEMAIL"

AUTHORITY

Added in API level 14
String AUTHORITY

The authority used by the voicemail provider.

Constant Value: "com.android.voicemail"

EXTRA_PHONE_ACCOUNT_HANDLE

Added in API level 25
String EXTRA_PHONE_ACCOUNT_HANDLE

Extra included in ACTION_SYNC_VOICEMAIL broadcast intents to indicate which PhoneAccountHandle to sync.

Constant Value: "android.provider.extra.PHONE_ACCOUNT_HANDLE"

EXTRA_SELF_CHANGE

Added in API level 14
String EXTRA_SELF_CHANGE

Extra included in ACTION_PROVIDER_CHANGED broadcast intents to indicate if the receiving package made this change.

Constant Value: "com.android.voicemail.extra.SELF_CHANGE"

PARAM_KEY_SOURCE_PACKAGE

Added in API level 14
String PARAM_KEY_SOURCE_PACKAGE

Parameter key used in the URI to specify the voicemail source package name.

This field must be set in all requests that originate from a voicemail source.

Constant Value: "source_package"

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.