cordova-plugin-contacts
Этот плагин определяет глобальный navigator.contacts объект, который предоставляет доступ к базе данных контактов устройства.
Хотя объект прикреплен к глобальному navigator, он недоступен до события deviceready.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.contacts);
}
ПРЕДУПРЕЖДЕНИЕ: Сбор и использование данных контактов поднимает важные вопросы о конфиденциальности. Политика конфиденциальности вашего приложения должна обсуждать, как приложение использует данные контактов и делится ли оно ими с другими сторонами. Контактная информация считается конфиденциальной, поскольку она раскрывает людей, с которыми человек общается. Поэтому помимо политики конфиденциальности приложения, вы должны серьезно рассмотреть возможность предоставления своевременного уведомления перед доступом приложения к данным контактов или их использованием, если операционная система устройства этого не делает. Это уведомление должно содержать ту же информацию, что и выше, а также получить разрешение пользователя (например, представив варианты ОК и Нет, спасибо). Обратите внимание, что некоторые рынки приложений могут потребовать от приложения предоставить своевременное уведомление и получить разрешение пользователя перед доступом к данным контактов. Четкий и понятный пользовательский интерфейс, связанный с использованием данных контактов, помогает избежать путаницы у пользователя и воспринимаемого злоупотребления данными контактов. Более подробную информацию см. в Руководстве по конфиденциальности.
Сообщайте о проблемах с этим плагином на отслеживании задач Apache Cordova
Установка
Требуется cordova 5.0+ ( текущая стабильная версия v1.0.0 )
cordova plugin add cordova-plugin-contacts
Старые версии cordova все еще могут устанавливаться через устаревший идентификатор ( устаревшая версия v0.2.16 )
cordova plugin add org.apache.cordova.contacts
Также можно установить через ссылку на репозиторий напрямую ( нестабильная версия )
cordova plugin add https://github.com/apache/cordova-plugin-contacts.git
Особенности iOS
Начиная с iOS 10, обязательно добавьте запись NSContactsUsageDescription в файл info.plist.
NSContactsUsageDescription описывает причину доступа приложения к контактам пользователя. При запросе системы на разрешение доступа эта строка отображается в диалоговом окне. Чтобы добавить эту запись, вы можете передать переменную CONTACTS_USAGE_DESCRIPTION при установке плагина.
Пример: cordova plugin add cordova-plugin-contacts --variable CONTACTS_USAGE_DESCRIPTION="your usage message"
Если вы не передадите переменную, плагин добавит пустую строку в качестве значения.
Особенности Firefox OS
Создайте www/manifest.webapp, как описано в документации по манифесту. Добавьте необходимые разрешения. Также необходимо изменить тип веб-приложения на "privileged" - документация по манифесту. ПРЕДУПРЕЖДЕНИЕ: Все привилегированные приложения применяют политику безопасности контента, которая запрещает встраиваемый скрипт. Инициализируйте свое приложение другим способом.
"type": "privileged",
"permissions": {
"contacts": {
"access": "readwrite",
"description": "Describe why there is a need for such permission"
}
}
Особенности Windows
До Windows 10: Любые контакты, возвращаемые методами find и pickContact, являются только для чтения, поэтому ваше приложение не может их изменить. Метод find доступен только на устройствах с Windows Phone 8.1.
Windows 10 и выше: Контакты можно сохранять и они будут сохранены в локальном хранилище приложения. Контакты также можно удалять.
Особенности Windows 8
Контакты Windows 8 являются только для чтения. Через API Cordova контакты нельзя искать/определять, вы должны уведомить пользователя о выборе контакта, вызвав contacts.pickContact, который откроет приложение «Люди», где пользователь должен выбрать контакт. Любые возвращаемые контакты являются только для чтения, поэтому ваше приложение не может их изменить.
navigator.contacts
Методы
- navigator.contacts.create
- navigator.contacts.find
- navigator.contacts.pickContact
Объекты
- Contact
- ContactName
- ContactField
- ContactAddress
- ContactOrganization
- ContactFindOptions
- ContactError
- ContactFieldType
navigator.contacts.create
Метод navigator.contacts.create является синхронным и возвращает новый объект Contact.
Этот метод не сохраняет объект Contact в базе данных контактов устройства, для чего необходимо вызвать метод Contact.save.
Поддерживаемые платформы
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
Пример
var myContact = navigator.contacts.create({"displayName": "Test User"});
navigator.contacts.find
Метод navigator.contacts.find выполняется асинхронно, запрашивает базу данных контактов устройства и возвращает массив объектов Contact. Результирующие объекты передаются в функцию обратного вызова contactSuccess, указанную параметром contactSuccess.
Параметр contactFields указывает поля, которые будут использоваться в качестве квалификатора поиска. Параметр contactFields нулевой длины недопустим и приводит к ContactError.INVALID_ARGUMENT_ERROR. Значение contactFields "*" ищет по всем полям контакта.
Строка contactFindOptions.filter может быть использована в качестве фильтра поиска при запросе базы данных контактов. При предоставлении выполняется нечувствительное к регистру частичное соответствие для каждого поля, указанного в параметре contactFields. Если совпадение найдено для любого из указанных полей, контакт возвращается. Используйте параметр contactFindOptions.desiredFields для управления тем, какие свойства контактов должны быть возвращены.
Поддерживаемые значения для параметров contactFields и contactFindOptions.desiredFields перечислены в объекте ContactFieldType.
Параметры
contactFields: Поля контакта, используемые в качестве квалификатора поиска. (DOMString[]) [Обязательно]
contactSuccess: Функция обратного вызова при успехе, вызывается с массивом объектов Contact, возвращенных из базы данных. [Обязательно]
contactError: Функция обратного вызова при ошибке, вызывается при возникновении ошибки. [Необязательно]
-
contactFindOptions: Параметры поиска для фильтрации navigator.contacts. [Необязательно]
Ключи включают:
-
filter: Строка поиска, используемая для поиска navigator.contacts. (DOMString) (По умолчанию:
"") -
multiple: Определяет, возвращает ли операция поиска несколько navigator.contacts. (Boolean) (По умолчанию:
false) -
desiredFields: Поля контакта, которые должны быть возвращены обратно. Если указаны, результирующий объект
Contactсодержит только значения для этих полей. (DOMString[]) [Необязательно] -
hasPhoneNumber (только Android): Фильтрует поиск, чтобы возвращались только контакты с указанным номером телефона. (Boolean) (По умолчанию:
false)
-
filter: Строка поиска, используемая для поиска navigator.contacts. (DOMString) (По умолчанию:
Поддерживаемые платформы
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows (Windows Phone 8.1 и Windows 10)
Пример
function onSuccess(contacts) {
alert('Found ' + contacts.length + ' contacts.');
};
function onError(contactError) {
alert('onError!');
};
// find all contacts with 'Bob' in any name field
var options = new ContactFindOptions();
options.filter = "Bob";
options.multiple = true;
options.desiredFields = [navigator.contacts.fieldType.id];
options.hasPhoneNumber = true;
var fields = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
navigator.contacts.find(fields, onSuccess, onError, options);
Особенности Windows
-
__contactFields__не поддерживается и будет проигнорировано.findметод всегда будет пытаться сопоставить имя, адрес электронной почты или номер телефона контакта.
navigator.contacts.pickContact
Метод navigator.contacts.pickContact запускает выборщик контактов для выбора одного контакта. Результирующий объект передается в функцию обратного вызова contactSuccess, указанную параметром contactSuccess.
Параметры
contactSuccess: Функция обратного вызова при успехе, вызывается с единственным объектом Contact. [Обязательно]
contactError: Функция обратного вызова при ошибке, вызывается при возникновении ошибки. [Необязательно]
Поддерживаемые платформы
- Android
- iOS
- Windows Phone 8
- Windows
Пример
navigator.contacts.pickContact(function(contact){
console.log('The following contact has been selected:' + JSON.stringify(contact));
},function(err){
console.log('Error: ' + err);
});
Особенности Android
Этот плагин запускает внешнюю активность для выбора контактов. См. Руководство по жизненному циклу Android для объяснения влияния этого на ваше приложение. Если плагин возвращает свой результат в событии resume, необходимо предварительно обернуть возвращаемый объект в объект Contact перед его использованием. Вот пример:
function onResume(resumeEvent) {
if(resumeEvent.pendingResult) {
if(resumeEvent.pendingResult.pluginStatus === "OK") {
var contact = navigator.contacts.create(resumeEvent.pendingResult.result);
successCallback(contact);
} else {
failCallback(resumeEvent.pendingResult.result);
}
}
}
Contact
Объект Contact представляет собой контакт пользователя. Контакты можно создавать, сохранять или удалять из базы данных контактов устройства. Контакты также можно извлекать (по одному или нескольким) из базы данных, вызвав метод navigator.contacts.find.
ПРИМЕЧАНИЕ: Не все поля контактов, перечисленные выше, поддерживаются на всех платформах устройств. Пожалуйста, ознакомьтесь с разделом Особенности каждой платформы для получения подробностей.
Свойства
id: Уникальный идентификатор. (DOMString)
displayName: Имя этого контакта, подходящее для отображения пользователям. (DOMString)
name: Объект, содержащий все компоненты имени человека. (ContactName)
nickname: Прозвище для обращения к контакту. (DOMString)
phoneNumbers: Массив всех номеров телефонов контакта. (ContactField[])
emails: Массив всех адресов электронной почты контакта. (ContactField[])
addresses: Массив всех адресов контакта. (ContactAddress[])
ims: Массив всех адресов IM контакта. (ContactField[])
organizations: Массив всех организаций контакта. (ContactOrganization[])
birthday: Дата рождения контакта. (Date)
note: Примечание о контакте. (DOMString)
photos: Массив фотографий контакта. (ContactField[])
categories: Массив всех пользовательских категорий, связанных с контактом. (ContactField[])
urls: Массив веб-страниц, связанных с контактом. (ContactField[])
Методы
clone: Возвращает новый
Contactобъект, являющийся глубокой копией вызываемого объекта, со свойствомidустановленным в значениеnull.remove: Удаляет контакт из базы данных контактов устройства, в противном случае выполняет обратный вызов ошибки с объектом
ContactError.save: Сохраняет новый контакт в базе данных контактов устройства или обновляет существующий контакт, если контакт с таким же значением id уже существует.
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows
Пример сохранения
function onSuccess(contact) {
alert("Save Success");
};
function onError(contactError) {
alert("Error = " + contactError.code);
};
// create a new contact object
var contact = navigator.contacts.create();
contact.displayName = "Plumber";
contact.nickname = "Plumber"; // specify both to support all devices
// populate some fields
var name = new ContactName();
name.givenName = "Jane";
name.familyName = "Doe";
contact.name = name;
// save to device
contact.save(onSuccess,onError);
Пример клонирования
// clone the contact object
var clone = contact.clone();
clone.name.givenName = "John";
console.log("Original contact name = " + contact.name.givenName);
console.log("Cloned contact name = " + clone.name.givenName);
Пример удаления
function onSuccess() {
alert("Removal Success");
};
function onError(contactError) {
alert("Error = " + contactError.code);
};
// remove the contact from the device
contact.remove(onSuccess,onError);
Удаление номера(ов) телефона из сохраненного контакта
// Example to create a contact with 3 phone numbers and then remove
// 2 phone numbers. This example is for illustrative purpose only
var myContact = navigator.contacts.create({"displayName": "Test User"});
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '768-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '999-555-5432', true); // preferred number
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
myContact.phoneNumbers = phoneNumbers;
myContact.save(function (contact_obj) {
var contactObjToModify = contact_obj.clone();
contact_obj.remove(function(){
var phoneNumbers = [contactObjToModify.phoneNumbers[0]];
contactObjToModify.phoneNumbers = phoneNumbers;
contactObjToModify.save(function(c_obj){
console.log("All Done");
}, function(error){
console.log("Not able to save the cloned object: " + error);
});
}, function(contactError) {
console.log("Contact Remove Operation failed: " + contactError);
});
});
Особенности Android 2.X
-
categories: Не поддерживается на устройствах Android 2.X, возвращается
null.
Особенности BlackBerry 10
- id: Присваивается устройством при сохранении контакта.
Особенности FirefoxOS
categories: Частично поддерживается. Поля pref и type возвращают
nullims: Не поддерживается
photos: Не поддерживается
Особенности iOS
displayName: Не поддерживается на iOS, возвращает
null, если не указанContactName, в противном случае возвращает составное имя, nickname или"", соответственно.birthday: Должен быть введен как JavaScript
Dateобъект, так же как и возвращается.photos: Возвращает URL файла изображения, хранящегося во временном каталоге приложения. Содержимое временного каталога удаляется при завершении работы приложения.
categories: Это свойство в настоящее время не поддерживается, возвращается
null.
Особенности Windows Phone 8
displayName: При создании контакта значение, предоставленное для параметра отображаемого имени, отличается от отображаемого имени, полученного при поиске контакта.
urls: При создании контакта пользователи могут вводить и сохранять более одного веб-адреса, но только один доступен при поиске контакта.
phoneNumbers: Опция pref не поддерживается. Опция type не поддерживается в операции find. Только один
phoneNumberразрешен для каждого типа.emails: Опция pref не поддерживается. Домашние и личные ссылки на одну и ту же запись электронной почты. Разрешена только одна запись для каждого типа.
addresses: Поддерживаются только рабочие и домашние/личные типы. Домашний и личный типы ссылаются на одну и ту же запись адреса. Разрешена только одна запись для каждого типа.
organizations: Разрешен только один, и он не поддерживает атрибуты pref, type и department.
note: Не поддерживается, возвращается
null.ims: Не поддерживается, возвращается
null.birthdays: Не поддерживается, возвращается
null.categories: Не поддерживается, возвращается
null.remove: Метод не поддерживается
Особенности Windows
photos: Возвращает URL файла изображения, который хранится во временном каталоге приложения.
birthdays: Не поддерживается, возвращается
null.categories: Не поддерживается, возвращается
null.remove: Метод поддерживается только в Windows 10 и выше.
ContactAddress
Объект ContactAddress хранит свойства одного адреса контакта. Объект Contact может содержать более одного адреса в массиве ContactAddress[].
Свойства
pref: Установлено в значение
trueесли этотContactAddressсодержит предпочтительное значение пользователя. (boolean)type: Строка, указывающая тип поля, например, home. (DOMString)
formatted: Полный адрес, отформатированный для отображения. (DOMString)
streetAddress: Полный адрес улицы. (DOMString)
locality: Город или населенный пункт. (DOMString)
region: Штат или регион. (DOMString)
postalCode: Почтовый индекс. (DOMString)
country: Название страны. (DOMString)
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows
Пример
// display the address information for all contacts
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
for (var j = 0; j < contacts[i].addresses.length; j++) {
alert("Pref: " + contacts[i].addresses[j].pref + "\n" +
"Type: " + contacts[i].addresses[j].type + "\n" +
"Formatted: " + contacts[i].addresses[j].formatted + "\n" +
"Street Address: " + contacts[i].addresses[j].streetAddress + "\n" +
"Locality: " + contacts[i].addresses[j].locality + "\n" +
"Region: " + contacts[i].addresses[j].region + "\n" +
"Postal Code: " + contacts[i].addresses[j].postalCode + "\n" +
"Country: " + contacts[i].addresses[j].country);
}
}
};
function onError(contactError) {
alert('onError!');
};
// find all contacts
var options = new ContactFindOptions();
options.filter = "";
options.multiple = true;
var filter = ["displayName", "addresses"];
navigator.contacts.find(filter, onSuccess, onError, options);
Особенности Android 2.X
-
pref: Не поддерживается, возвращает
falseна устройствах Android 2.X.
Особенности BlackBerry 10
pref: Не поддерживается на устройствах BlackBerry, возвращается
false.type: Частично поддерживается. Только один адрес каждого типа Work и Home может храниться на контакт.
formatted: Частично поддерживается. Возвращает конкатенацию всех полей адреса BlackBerry.
streetAddress: Поддерживается. Возвращает конкатенацию полей адреса BlackBerry address1 и address2.
locality: Поддерживается. Хранится в поле адреса BlackBerry city.
region: Поддерживается. Хранится в поле адреса BlackBerry stateProvince.
postalCode: Поддерживается. Хранится в поле адреса BlackBerry zipPostal.
country: Поддерживается.
Особенности FirefoxOS
- formatted: В настоящее время не поддерживается
Особенности iOS
pref: Не поддерживается на устройствах iOS, возвращается
false.formatted: В настоящее время не поддерживается.
Особенности Windows
- pref: Не поддерживается
ContactError
Объект ContactError возвращается пользователю через функцию обратного вызова contactError при возникновении ошибки.
Свойства
- code: Один из предопределенных кодов ошибок, перечисленных ниже.
Константы
-
ContactError.UNKNOWN_ERROR(код 0) -
ContactError.INVALID_ARGUMENT_ERROR(код 1) -
ContactError.TIMEOUT_ERROR(код 2) -
ContactError.PENDING_OPERATION_ERROR(код 3) -
ContactError.IO_ERROR(код 4) -
ContactError.NOT_SUPPORTED_ERROR(код 5) -
ContactError.OPERATION_CANCELLED_ERROR(код 6) -
ContactError.PERMISSION_DENIED_ERROR(код 20)
ContactField
Объект ContactField — это многократно используемый компонент, который обобщенно представляет поля контактов. Каждый объект ContactField содержит свойства value, type, и pref . Объект Contact хранит несколько свойств в массивах ContactField[], таких как номера телефонов и адреса электронной почты.
В большинстве случаев для атрибута type объекта ContactField нет предопределенных значений. Например, номер телефона может указывать значения type home, work, mobile, iPhone или любое другое значение, поддерживаемое базой данных контактов конкретной платформы устройства. Однако для поля photos объекта Contact поле type указывает формат возвращаемого изображения: url, когда атрибут value содержит URL-адрес изображения, или base64, когда value содержит строку изображения в формате base64.
Свойства
type: Строка, указывающая тип поля, например, home. (DOMString)
value: Значение поля, например, номер телефона или адрес электронной почты. (DOMString)
pref: Установлено в значение
trueесли этотContactFieldсодержит предпочтительное значение пользователя. (boolean)
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows
Пример
// create a new contact
var contact = navigator.contacts.create();
// store contact phone numbers in ContactField[]
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // preferred number
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// save the contact
contact.save();
Особенности Android
-
pref: Не поддерживается, возвращается
false.
Особенности BlackBerry 10
type: Частично поддерживается. Используется для номеров телефонов.
value: Поддерживается.
pref: Не поддерживается, возвращается
false.
Особенности iOS
-
pref: Не поддерживается, возвращается
false.
Особенности Windows
-
pref: Не поддерживается, возвращается
false.
ContactName
Содержит различные виды информации об имени объекта Contact.
Свойства
formatted: Полное имя контакта. (DOMString)
familyName: Фамилия контакта. (DOMString)
givenName: Имя контакта. (DOMString)
middleName: Отчество контакта. (DOMString)
honorificPrefix: Приставка к имени (например, Mr. или Dr.) (DOMString)
honorificSuffix: Суффикс к имени (например, Esq.). (DOMString)
Поддерживаемые платформы
- Amazon Fire OS
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows
Пример
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
alert("Formatted: " + contacts[i].name.formatted + "\n" +
"Family Name: " + contacts[i].name.familyName + "\n" +
"Given Name: " + contacts[i].name.givenName + "\n" +
"Middle Name: " + contacts[i].name.middleName + "\n" +
"Suffix: " + contacts[i].name.honorificSuffix + "\n" +
"Prefix: " + contacts[i].name.honorificSuffix);
}
};
function onError(contactError) {
alert('onError!');
};
var options = new ContactFindOptions();
options.filter = "";
options.multiple = true;
filter = ["displayName", "name"];
navigator.contacts.find(filter, onSuccess, onError, options);
Особенности Android
-
formatted: Частично поддерживается, и доступно только для чтения. Возвращает конкатенацию
honorificPrefix,givenName,middleName,familyName, иhonorificSuffix.
Особенности BlackBerry 10
formatted: Частично поддерживается. Возвращает конкатенацию полей BlackBerry firstName и lastName.
familyName: Поддерживается. Сохраняется в поле BlackBerry lastName.
givenName: Поддерживается. Сохраняется в поле BlackBerry firstName.
middleName: Не поддерживается, возвращает
null.honorificPrefix: Не поддерживается, возвращает
null.honorificSuffix: Не поддерживается, возвращает
null.
Особенности FirefoxOS
-
formatted: Частично поддерживается, и доступно только для чтения. Возвращает конкатенацию
honorificPrefix,givenName,middleName,familyName, иhonorificSuffix.
Особенности iOS
- formatted: Частично поддерживается. Возвращает составное имя iOS, но доступно только для чтения.
Особенности Windows
formatted: Это единственное свойство имени и идентично
displayName, иnicknamefamilyName: не поддерживается
givenName: не поддерживается
middleName: не поддерживается
honorificPrefix: не поддерживается
honorificSuffix: не поддерживается
ContactOrganization
Объект ContactOrganization хранит свойства организации контакта. Объект Contact хранит один или несколько объектов ContactOrganization в массиве.
Свойства
pref: Устанавливается в
trueесли этотContactOrganizationсодержит предпочтительное значение пользователя. (boolean)type: Строка, указывающая тип поля, например, home. _(DOMString)
name: Название организации. (DOMString)
department: Отдел, за который работает контракт. (DOMString)
title: Должность контакта в организации. (DOMString)
Поддерживаемые платформы
- Android
- BlackBerry 10
- Firefox OS
- iOS
- Windows Phone 8
- Windows (только устройства Windows 8.1 и Windows Phone 8.1)
Пример
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
for (var j = 0; j < contacts[i].organizations.length; j++) {
alert("Pref: " + contacts[i].organizations[j].pref + "\n" +
"Type: " + contacts[i].organizations[j].type + "\n" +
"Name: " + contacts[i].organizations[j].name + "\n" +
"Department: " + contacts[i].organizations[j].department + "\n" +
"Title: " + contacts[i].organizations[j].title);
}
}
};
function onError(contactError) {
alert('onError!');
};
var options = new ContactFindOptions();
options.filter = "";
options.multiple = true;
filter = ["displayName", "organizations"];
navigator.contacts.find(filter, onSuccess, onError, options);
Особенности Android 2.X
-
pref: Не поддерживается устройствами Android 2.X, возвращает
false.
Особенности BlackBerry 10
pref: Не поддерживается устройствами BlackBerry, возвращает
false.type: Не поддерживается устройствами BlackBerry, возвращает
null.name: Частично поддерживается. Первое имя организации сохраняется в поле BlackBerry company.
department: Не поддерживается, возвращает
null.title: Частично поддерживается. Первая должность организации сохраняется в поле BlackBerry jobTitle.
Особенности Firefox OS
pref: Не поддерживается
type: Не поддерживается
department: Не поддерживается
Поля name и title сохраняются в org и jobTitle.
Особенности iOS
pref: Не поддерживается на устройствах iOS, возвращает
false.type: Не поддерживается на устройствах iOS, возвращает
null.name: Частично поддерживается. Первое имя организации сохраняется в поле iOS kABPersonOrganizationProperty.
department: Частично поддерживается. Первое имя отдела сохраняется в поле iOS kABPersonDepartmentProperty.
title: Частично поддерживается. Первая должность сохраняется в поле iOS kABPersonJobTitleProperty.
Особенности Windows
pref: Не поддерживается, возвращает
false.type: Не поддерживается, возвращает
null.
Тип поля контакта
Объект ContactFieldType представляет собой перечисление возможных типов полей, таких как 'phoneNumbers' или 'emails', которые могут использоваться для управления тем, какие свойства контактов должны быть возвращены методом contacts.find() (см. contactFindOptions.desiredFields), или для указания полей для поиска (через параметр contactFields). Возможные значения:
navigator.contacts.fieldType.addressesnavigator.contacts.fieldType.birthdaynavigator.contacts.fieldType.categoriesnavigator.contacts.fieldType.countrynavigator.contacts.fieldType.departmentnavigator.contacts.fieldType.displayNamenavigator.contacts.fieldType.emailsnavigator.contacts.fieldType.familyNamenavigator.contacts.fieldType.formattednavigator.contacts.fieldType.givenNamenavigator.contacts.fieldType.honorificPrefixnavigator.contacts.fieldType.honorificSuffixnavigator.contacts.fieldType.idnavigator.contacts.fieldType.imsnavigator.contacts.fieldType.localitynavigator.contacts.fieldType.middleNamenavigator.contacts.fieldType.namenavigator.contacts.fieldType.nicknamenavigator.contacts.fieldType.notenavigator.contacts.fieldType.organizationsnavigator.contacts.fieldType.phoneNumbersnavigator.contacts.fieldType.photosnavigator.contacts.fieldType.postalCodenavigator.contacts.fieldType.regionnavigator.contacts.fieldType.streetAddressnavigator.contacts.fieldType.titlenavigator.contacts.fieldType.urls
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/7.x/reference/cordova-plugin-contacts/index.html