Contact Contact Contact Contact Class
Definition
Represents a contact.
public : sealed class Contact : IContact, IContact2, IContact3, IContactNamepublic sealed class Contact : IContact, IContact2, IContact3, IContactNamePublic NotInheritable Class Contact Implements IContact, IContact2, IContact3, IContactName// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Examples
This code shows how your app can take an app-specific contact object and use it to create a Contact object. First, here's an example of an object that contains contact information.
var sampleContacts = [
{
firstName: "Kim",
lastName: "Abercrombie",
image: "KimAbercrombie.jpg",
personalEmail: "kim@contoso.com",
homePhone: "921 555-0187",
address: {
full: "123 Main St, Redmond WA, 23456",
street: "123 Main St",
city: "Redmond",
state: "WA",
zipCode: "23456"
},
id: "49b0652e-8f39-48c5-853b-e5e94e6b8a11"
}
];
function createContactForBasket(sampleContact) {
// Transfer contact data to a Contact object
var contact = new Windows.ApplicationModel.Contacts.Contact();
contact.firstName = sampleContact.firstName;
contact.lastName = sampleContact.lastName;
contact.id = sampleContact.id;
// Add the personal email address to the Contact object’s emails vector
var personalEmail = new Windows.ApplicationModel.Contacts.ContactEmail();
personalEmail.address = sampleContact.personalEmail;
personalEmail.kind = Windows.ApplicationModel.Contacts.ContactEmailKind.personal;
contact.emails.append(personalEmail);
// Adds the home phone number to the Contact object’s phones vector
var homePhone = new Windows.ApplicationModel.Contacts.ContactPhone();
homePhone.number = sampleContact.homePhone;
homePhone.kind = Windows.ApplicationModel.Contacts.ContactPhoneKind.home;
contact.phones.append(homePhone);
// Adds the address to the Contact object’s addresses vector
var homeAddress = new Windows.ApplicationModel.Contacts.ContactAddress();
homeAddress.streetAddress = sampleContact.address.street;
homeAddress.locality = sampleContact.address.city;
homeAddress.region = sampleContact.address.state;
homeAddress.postalCode = sampleContact.address.zipCode;
homeAddress.kind = Windows.ApplicationModel.Contacts.ContactAddressKind.home;
contact.addresses.append(homeAddress);
// Sets the thumbnail for the contact from path
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(sampleContact.image).then(
function (imageFile) {
var streamReference = Windows.Storage.Streams.RandomAccessStreamReference.createFromFile(imageFile);
contact.thumbnail = randomAccessStreamReference;
});
return contact;
}
Remarks
No matter how you store contact information in your app, you must be able to put that information into a Contact object. This way, other apps that allow users to select contacts can use your app and process the contact information it provides.
For info about how to manage contacts, see Managing contact cards and Managing contact cards .
Constructors
Properties
Addresses Addresses Addresses Addresses
Gets the contact addresses for a contact.
public : IVector<ContactAddress> Addresses { get; }public IList<ContactAddress> Addresses { get; }Public ReadOnly Property Addresses As IList<ContactAddress>// You can use this property in JavaScript.
- Value
- IVector<ContactAddress> IList<ContactAddress> IList<ContactAddress> IList<ContactAddress>
An array of contact addresses for a contact.
AggregateId AggregateId AggregateId AggregateId
If this is a raw contact that is part of an aggregate contact, then this property identifies the parent aggregate.
public : PlatForm::String AggregateId { get; }public string AggregateId { get; }Public ReadOnly Property AggregateId As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
String value that identifies the parent aggregate contact.
ConnectedServiceAccounts ConnectedServiceAccounts ConnectedServiceAccounts ConnectedServiceAccounts
Gets the connected service accounts for a contact.
public : IVector<ContactConnectedServiceAccount> ConnectedServiceAccounts { get; }public IList<ContactConnectedServiceAccount> ConnectedServiceAccounts { get; }Public ReadOnly Property ConnectedServiceAccounts As IList<ContactConnectedServiceAccount>// You can use this property in JavaScript.
- Value
- IVector<ContactConnectedServiceAccount> IList<ContactConnectedServiceAccount> IList<ContactConnectedServiceAccount> IList<ContactConnectedServiceAccount>
An array of connected service accounts for a contact.
ContactListId ContactListId ContactListId ContactListId
Gets a string that identifies the ContactList to which this contact is a member.
public : PlatForm::String ContactListId { get; }public string ContactListId { get; }Public ReadOnly Property ContactListId As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
A string that identifies the ContactList to which this contact is a member.
DataSuppliers DataSuppliers DataSuppliers DataSuppliers
Gets the data suppliers for a contact. The maximum string length for each data supplier is 50 characters.
public : IVector<string> DataSuppliers { get; }public IList<string> DataSuppliers { get; }Public ReadOnly Property DataSuppliers As IList<string>// You can use this property in JavaScript.
- Value
- IVector<PlatForm::String> IList<string> IList<string> IList<string>
An array of data suppliers for a contact.
DisplayName DisplayName DisplayName DisplayName
Gets the display name for a contact.
Note
You can only access this property from a UI thread.
public : PlatForm::String DisplayName { get; }public string DisplayName { get; }Public ReadOnly Property DisplayName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The display name for a contact.
Remarks
Windows calculates the DisplayName property by using the values from the FirstName, MiddleName, and LastName properties if any are specified. If these values aren't available, Windows uses the Yomi (phonetic Japanese equivalent) name values (YomiGivenName and YomiFamilyName ). The calculation for DisplayName takes into account different locale hints such as script of the text in the names, resource context, and default user locale to determine the proper formatting template for the name.
DisplayNameOverride DisplayNameOverride DisplayNameOverride DisplayNameOverride
Gets or sets the display that was manually entered by the user.
public : PlatForm::String DisplayNameOverride { get; set; }public string DisplayNameOverride { get; set; }Public ReadWrite Property DisplayNameOverride As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The display that was manually entered by the user.
DisplayPictureUserUpdateTime DisplayPictureUserUpdateTime DisplayPictureUserUpdateTime DisplayPictureUserUpdateTime
Gets or sets the last time the user updated their display picture.
public : DateTime DisplayPictureUserUpdateTime { get; set; }public DateTimeOffset DisplayPictureUserUpdateTime { get; set; }Public ReadWrite Property DisplayPictureUserUpdateTime As DateTimeOffset// You can use this property in JavaScript.
- Value
- DateTime DateTimeOffset DateTimeOffset DateTimeOffset
The last time the user updated their display picture.
Emails Emails Emails Emails
Gets the email addresses for a contact.
public : IVector<ContactEmail> Emails { get; }public IList<ContactEmail> Emails { get; }Public ReadOnly Property Emails As IList<ContactEmail>// You can use this property in JavaScript.
- Value
- IVector<ContactEmail> IList<ContactEmail> IList<ContactEmail> IList<ContactEmail>
An array of email addresses for a contact.
Fields Fields Fields Fields
Note
Fields may be altered or unavailable for releases after Windows 8.1. Instead, use Phones, Emails, Addresses, or ConnectedServiceAccounts.
Sets the fields that contain information about a contact.
public : IVector<IContactField> Fields { get; }public IList<IContactField> Fields { get; }Public ReadOnly Property Fields As IList<IContactField>// You can use this property in JavaScript.
- Value
- IVector<IContactField> IList<IContactField> IList<IContactField> IList<IContactField>
An array of fields containing information about a contact.
Examples
These functions show how you can add different fields to a Contact object.
function appendField(fields, value, type, category) {
if (value) {
fields.append(new Windows.ApplicationModel.Contacts.ContactField(value, type, category));
}
}
function appendEmail(fields, email, category) {
// Adds a new email to the contact fields vector
appendField(fields, email, Windows.ApplicationModel.Contacts.ContactFieldType.email, category);
}
function appendPhoneNumber(fields, phone, category) {
// Adds a new phone number to the contact fields vector
appendField(fields, phone, Windows.ApplicationModel.Contacts.ContactFieldType.phoneNumber, category);
}
function appendAddress(fields, address, category) {
// Adds a new address to the contact fields vector
if (address) {
fields.append(new Windows.ApplicationModel.Contacts.ContactLocationField(
address.full, category, address.street, address.city, address.state, "", address.zipCode));
}
}
Remarks
The ContactFieldCategory and ContactFieldType classes provide information about what kind of information you can put into a field.
FirstName FirstName FirstName FirstName
Gets and sets the first name for a contact. The maximum string length for the first name is 64 characters.
public : PlatForm::String FirstName { get; set; }public string FirstName { get; set; }Public ReadWrite Property FirstName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The first name for a contact.
- See Also
HonorificNamePrefix HonorificNamePrefix HonorificNamePrefix HonorificNamePrefix
Gets and sets the honorific prefix for the name for a contact. The maximum string length for the honorific prefix is 32 characters.
public : PlatForm::String HonorificNamePrefix { get; set; }public string HonorificNamePrefix { get; set; }Public ReadWrite Property HonorificNamePrefix As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The honorific prefix for the name for a contact.
Remarks
Common name prefixes are Ms, Miss, Mrs, Mr, Dr, and so on.
HonorificNameSuffix HonorificNameSuffix HonorificNameSuffix HonorificNameSuffix
Gets and sets the honorific suffix for the name for a contact. The maximum string length for the honorific suffix is 32 characters.
public : PlatForm::String HonorificNameSuffix { get; set; }public string HonorificNameSuffix { get; set; }Public ReadWrite Property HonorificNameSuffix As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The honorific suffix for the name for a contact.
Remarks
A suffix follows the contact's name and provides additional info about the contact, like an academic degree (M.D. for medical doctor).
Id Id Id Id
Gets and sets the identifier for a contact. The maximum string length for the identifier is 256 characters.
Note
The Id property must be set when you call AddContact, ContainsContact, or RemoveContact. If Id isn't set when you call AddContact, your app will fail. If Id isn't set when you call ContainsContact or RemoveContact, your app won't be able to find or remove the contact.
public : PlatForm::String Id { get; set; }public string Id { get; set; }Public ReadWrite Property Id As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The identifier for a contact.
ImportantDates ImportantDates ImportantDates ImportantDates
Gets the important dates for a contact.
public : IVector<ContactDate> ImportantDates { get; }public IList<ContactDate> ImportantDates { get; }Public ReadOnly Property ImportantDates As IList<ContactDate>// You can use this property in JavaScript.
- Value
- IVector<ContactDate> IList<ContactDate> IList<ContactDate> IList<ContactDate>
An array of important dates for a contact.
IsAggregate IsAggregate IsAggregate IsAggregate
Gets a Boolean value indicating of this is an aggregate Contact.
public : PlatForm::Boolean IsAggregate { get; }public bool IsAggregate { get; }Public ReadOnly Property IsAggregate As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
Boolean value indicating of this is an aggregate Contact.
IsDisplayPictureManuallySet IsDisplayPictureManuallySet IsDisplayPictureManuallySet IsDisplayPictureManuallySet
Gets a Boolean value indicating if the user manually set the picture for the Contact.
public : PlatForm::Boolean IsDisplayPictureManuallySet { get; }public bool IsDisplayPictureManuallySet { get; }Public ReadOnly Property IsDisplayPictureManuallySet As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
True if the user manually set the picture, false if this is an aggregate contact and the picture was chosen from one of the raw child contacts.
IsMe IsMe IsMe IsMe
Gets a Boolean value indicating if this Contact represents the user logged into the device.
public : PlatForm::Boolean IsMe { get; }public bool IsMe { get; }Public ReadOnly Property IsMe As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
Boolean value indicating if this Contact represents the user logged into the device.
JobInfo JobInfo JobInfo JobInfo
Gets the job info items for a contact.
public : IVector<ContactJobInfo> JobInfo { get; }public IList<ContactJobInfo> JobInfo { get; }Public ReadOnly Property JobInfo As IList<ContactJobInfo>// You can use this property in JavaScript.
- Value
- IVector<ContactJobInfo> IList<ContactJobInfo> IList<ContactJobInfo> IList<ContactJobInfo>
An array of job info items for a contact.
LargeDisplayPicture LargeDisplayPicture LargeDisplayPicture LargeDisplayPicture
Gets a large version of the display picture for the Contact.
public : IRandomAccessStreamReference LargeDisplayPicture { get; }public IRandomAccessStreamReference LargeDisplayPicture { get; }Public ReadOnly Property LargeDisplayPicture As IRandomAccessStreamReference// You can use this property in JavaScript.
- Value
- IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference
A large version of the display picture for the Contact.
LastName LastName LastName LastName
Gets and sets the last name for a contact. The maximum string length for the last name is 64 characters.
public : PlatForm::String LastName { get; set; }public string LastName { get; set; }Public ReadWrite Property LastName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The last name for a contact.
- See Also
MiddleName MiddleName MiddleName MiddleName
Gets and sets the middle name for a contact. The maximum string length for the middle name is 64 characters.
public : PlatForm::String MiddleName { get; set; }public string MiddleName { get; set; }Public ReadWrite Property MiddleName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The middle name for a contact.
- See Also
Name Name Name Name
Sets and gets the name of the contact.
public : PlatForm::String Name { get; set; }public string Name { get; set; }Public ReadWrite Property Name As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The name of the contact.
Examples
This example shows a function taking the name property and returning the first and last names of the contact.
function getFirstAndLastName(contact) {
var name = contact.name;
if (name.indexOf(" ") != -1) {
var firstAndLast = name.split(" ");
return {
first: firstAndLast[0],
last: firstAndLast[1]
};
} else {
return null;
}
}
Remarks
An app can set the name property to any value that matches the name of a contact. We recommend that you set this value to contain both the first and last names of the contact, if that information is available.
Notes Notes Notes Notes
Gets and sets notes for a contact. The maximum string length for notes is 4096 characters.
public : PlatForm::String Notes { get; set; }public string Notes { get; set; }Public ReadWrite Property Notes As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
A string that contains notes for a contact.
Phones Phones Phones Phones
Gets info about the phones for a contact.
public : IVector<ContactPhone> Phones { get; }public IList<ContactPhone> Phones { get; }Public ReadOnly Property Phones As IList<ContactPhone>// You can use this property in JavaScript.
- Value
- IVector<ContactPhone> IList<ContactPhone> IList<ContactPhone> IList<ContactPhone>
An array of items that describe the phones for a contact.
ProviderProperties ProviderProperties ProviderProperties ProviderProperties
Gets the property set object for the contact.
public : IPropertySet ProviderProperties { get; }public IPropertySet ProviderProperties { get; }Public ReadOnly Property ProviderProperties As IPropertySet// You can use this property in JavaScript.
The IPropertySet interface for the property set object for the contact.
- See Also
RemoteId RemoteId RemoteId RemoteId
Gets or sets an ID that can be used by a service provider to access the Contact in their remote system.
public : PlatForm::String RemoteId { get; set; }public string RemoteId { get; set; }Public ReadWrite Property RemoteId As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
An ID that can be used by a service provider to access the Contact in their remote system.
RingToneToken RingToneToken RingToneToken RingToneToken
Gets or puts the path to the ringtone file for the Contact.
public : PlatForm::String RingToneToken { get; set; }public string RingToneToken { get; set; }Public ReadWrite Property RingToneToken As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The path to the ringtone file for the Contact.
SignificantOthers SignificantOthers SignificantOthers SignificantOthers
Gets the significant others for a contact.
public : IVector<ContactSignificantOther> SignificantOthers { get; }public IList<ContactSignificantOther> SignificantOthers { get; }Public ReadOnly Property SignificantOthers As IList<ContactSignificantOther>// You can use this property in JavaScript.
- Value
- IVector<ContactSignificantOther> IList<ContactSignificantOther> IList<ContactSignificantOther> IList<ContactSignificantOther>
An array of significant others for a contact.
SmallDisplayPicture SmallDisplayPicture SmallDisplayPicture SmallDisplayPicture
Gets a small version of the display picture for the Contact.
public : IRandomAccessStreamReference SmallDisplayPicture { get; }public IRandomAccessStreamReference SmallDisplayPicture { get; }Public ReadOnly Property SmallDisplayPicture As IRandomAccessStreamReference// You can use this property in JavaScript.
- Value
- IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference
A small version of the display picture for the Contact.
SortName SortName SortName SortName
Gets the name used to sort the contact.
public : PlatForm::String SortName { get; }public string SortName { get; }Public ReadOnly Property SortName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The name used to sort the contact.
SourceDisplayPicture SourceDisplayPicture SourceDisplayPicture SourceDisplayPicture
Gets or sets the display picture for the Contact in its original size.
public : IRandomAccessStreamReference SourceDisplayPicture { get; set; }public IRandomAccessStreamReference SourceDisplayPicture { get; set; }Public ReadWrite Property SourceDisplayPicture As IRandomAccessStreamReference// You can use this property in JavaScript.
- Value
- IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference
The display picture for the Contact in its original size.
Remarks
The SmallDisplayPicture, LargeDisplayPicture and Thumbnail are generated from this picture.
TextToneToken TextToneToken TextToneToken TextToneToken
Gets or puts the path to the audio file to play when an SMS/MMS message is received from the Contact.
public : PlatForm::String TextToneToken { get; set; }public string TextToneToken { get; set; }Public ReadWrite Property TextToneToken As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The path to the audio file to play when an SMS/MMS message is received from the Contact.
Thumbnail Thumbnail Thumbnail Thumbnail
Gets or sets a thumbnail image that represents this contact.
public : IRandomAccessStreamReference Thumbnail { get; set; }public IRandomAccessStreamReference Thumbnail { get; set; }Public ReadWrite Property Thumbnail As IRandomAccessStreamReference// You can use this property in JavaScript.
- Value
- IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference IRandomAccessStreamReference
The thumbnail image for the contact.
Websites Websites Websites Websites
Gets the Web sites for a contact.
public : IVector<ContactWebsite> Websites { get; }public IList<ContactWebsite> Websites { get; }Public ReadOnly Property Websites As IList<ContactWebsite>// You can use this property in JavaScript.
- Value
- IVector<ContactWebsite> IList<ContactWebsite> IList<ContactWebsite> IList<ContactWebsite>
An array of Web sites for a contact.
YomiDisplayName YomiDisplayName YomiDisplayName YomiDisplayName
Gets the Yomi (phonetic Japanese equivalent) display name for a contact.
public : PlatForm::String YomiDisplayName { get; }public string YomiDisplayName { get; }Public ReadOnly Property YomiDisplayName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The Yomi display name for a contact.
Remarks
Windows calculates the YomiDisplayName property by using the values from the YomiGivenName and YomiFamilyName properties. The calculation for YomiDisplayName takes into account different locale hints such as script of the text in the names, resource context, and default user locale to determine the proper formatting template for the name.
YomiFamilyName YomiFamilyName YomiFamilyName YomiFamilyName
Gets the Yomi (phonetic Japanese equivalent) family name for a contact. The maximum string length for the Yomi family name is 120 characters.
public : PlatForm::String YomiFamilyName { get; set; }public string YomiFamilyName { get; set; }Public ReadWrite Property YomiFamilyName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The Yomi family name for a contact.
YomiGivenName YomiGivenName YomiGivenName YomiGivenName
Gets the Yomi (phonetic Japanese equivalent) given name for a contact. The maximum string length for the Yomi given name is 120 characters.
public : PlatForm::String YomiGivenName { get; set; }public string YomiGivenName { get; set; }Public ReadWrite Property YomiGivenName As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The Yomi given name for a contact.