Added in API level 5

Settings


class Settings : ContactsContract.SettingsColumns
kotlin.Any
   ↳ android.provider.ContactsContract.Settings

Contacts-specific settings for various Account's.

A settings entry for an account is created automatically when a raw contact or group is inserted that references it. Settings entries cannot be deleted as long as raw contacts or groups continue to reference it; in order to delete a settings entry all raw contacts and groups referencing the account must be deleted first.

Columns

Settings
String ACCOUNT_NAME read/write-once The name of the account instance to which this row belongs.
String ACCOUNT_TYPE read/write-once The type of account to which this row belongs, which when paired with ACCOUNT_NAME identifies a specific account.
int SHOULD_SYNC read/write Depending on the mode defined by the sync-adapter, this flag controls the top-level sync behavior for this data source.
int UNGROUPED_VISIBLE read/write Flag indicating if contacts without any CommonDataKinds.GroupMembership entries should be visible in any user interface.
int ANY_UNSYNCED read-only Read-only flag indicating if this SHOULD_SYNC or any Groups.SHOULD_SYNC under this account have been marked as unsynced.
int UNGROUPED_COUNT read-only Read-only count of Contacts from a specific source that have no CommonDataKinds.GroupMembership entries.
int UNGROUPED_WITH_PHONES read-only Read-only count of Contacts from a specific source that have no CommonDataKinds.GroupMembership entries, and also have phone numbers.

Summary

Nested classes

Constants
static String

Action used to launch the UI to set the default account for new contacts.

static String

The MIME-type of CONTENT_URI providing a single setting.

static String

The MIME-type of CONTENT_URI providing a directory of settings.

Inherited constants
Public methods
static Long
getAccountAttributes(resolver: ContentResolver, account: Account?, dataSet: String?)

Returns the attributes of a given account as a 64-bit bitmask.

static Account?

Get the account that is set as the default account for new contacts, which should be initially selected when creating a new contact on contact management apps.

static Unit
resetAccountAttributes(resolver: ContentResolver, account: Account?, dataSet: String?)

Resets the attributes for a given account to their system-evaluated defaults.

static Unit
setAccountAttributes(resolver: ContentResolver, account: Account?, dataSet: String?, newAttributes: Long)

Sets the attributes for a given account with a new set of flags.

Properties
static Uri!

The content:// style URI for this table

Constants

ACTION_SET_DEFAULT_ACCOUNT

Added in API level 33
static val ACTION_SET_DEFAULT_ACCOUNT: String

Action used to launch the UI to set the default account for new contacts.

Value: "android.provider.action.SET_DEFAULT_ACCOUNT"

CONTENT_ITEM_TYPE

Added in API level 5
static val CONTENT_ITEM_TYPE: String

The MIME-type of CONTENT_URI providing a single setting.

Value: "vnd.android.cursor.item/setting"

CONTENT_TYPE

Added in API level 5
static val CONTENT_TYPE: String

The MIME-type of CONTENT_URI providing a directory of settings.

Value: "vnd.android.cursor.dir/setting"

Public methods

getAccountAttributes

Added in API level 5
static fun getAccountAttributes(
    resolver: ContentResolver,
    account: Account?,
    dataSet: String?
): Long

Returns the attributes of a given account as a 64-bit bitmask.

A return value of 0L indicates the account exists but has no specific attributes enabled or set.
Requires android.Manifest.permission#READ_CONTACTS

Parameters
resolver ContentResolver: The ContentResolver to use for the query.
This value cannot be null.
account Account?: The account to query. If null, this queries the attributes of the local, device-only account (where both account_name and account_type are null).
dataSet String?: The data set specific to the account type, which may be null.
Return
Long A long representing the attributes bitmask.
Value is either 0 or a combination of the following:
Exceptions
java.lang.IllegalStateException if the specified account does not exist or its attributes could not be determined.

getDefaultAccount

Added in API level 33
Deprecated in API level 36
static fun getDefaultAccount(resolver: ContentResolver): Account?

Deprecated: This API is only supported up to Android version * Build.VERSION_CODES.VANILLA_ICE_CREAM. On later versions, ContactsContract.RawContacts.DefaultAccount.getDefaultAccountForNewContacts should be used.

Get the account that is set as the default account for new contacts, which should be initially selected when creating a new contact on contact management apps. If the setting has not been set by any app, it will return null. Once the setting is set to non-null Account, it can still be set to null in the future.

Parameters
resolver ContentResolver: the ContentResolver to query.
This value cannot be null.
Return
Account? the default account for new contacts, or null if it's not set or set to NULL account.

resetAccountAttributes

Added in API level 5
static fun resetAccountAttributes(
    resolver: ContentResolver,
    account: Account?,
    dataSet: String?
): Unit

Resets the attributes for a given account to their system-evaluated defaults.

This operation removes any explicit overrides set via setAccountAttributes and causes the system to immediately re-evaluate the account's attributes based on its type and other characteristics

Security

This method requires that the calling application be the authenticator for the account's type, as defined in android.accounts.AccountManager.
Requires android.Manifest.permission#WRITE_CONTACTS

Parameters
resolver ContentResolver: The ContentResolver to use for the update.
This value cannot be null.
account Account?: @param account The target account.
This value may be null.
dataSet String?: The data set within the account, which may be null.
Exceptions
java.lang.IllegalArgumentException if the target account is otherwise invalid.
java.lang.SecurityException if the calling package is not the authenticator for the account type.

setAccountAttributes

Added in API level 5
static fun setAccountAttributes(
    resolver: ContentResolver,
    account: Account?,
    dataSet: String?,
    newAttributes: Long
): Unit

Sets the attributes for a given account with a new set of flags.

Warning: This is a destructive operation. Any attributes previously set on the account will be cleared and replaced by the provided newAttributes.

The provided bitmask must be valid and free of semantic conflicts (e.g., containing more than one DATA_ORIGIN type).

Security

This method requires that the calling application to be the authenticator for the account's type.
Requires android.Manifest.permission#WRITE_CONTACTS

Parameters
resolver ContentResolver: The ContentResolver to use for the update.
This value cannot be null.
account Account?: @param account The target account.
This value may be null.
dataSet String?: The data set within the account, which may be null.
newAttributes Long: The complete new bitmask of attributes to apply.
Value is either 0 or a combination of the following:
Exceptions
java.lang.IllegalArgumentException if newAttributes contains any undefined bits, has semantic conflicts, or the account is otherwise invalid.
java.lang.SecurityException if the calling package is not the authenticator for the account type.

Properties

CONTENT_URI

Added in API level 5
static val CONTENT_URI: Uri!

The content:// style URI for this table