formatted: 부분적으로 지원함.
honorificPrefix, givenName, middleName, familyName and honorificSuffix 순으로 리턴 하지만, 저장되지 않는다.
displayName : 지원하지 않음. 항상 null 값을 리턴한다. ContactName 객체가 있을 경우에는 name 이나 nickname, “” 을 갖는다.
birthday : 자바스크립트의 Date 객체를 사용해야 한다..
photos : 호출한 사진은 단말기의 임시폴더에 저장되며, File URL을 리턴한다. 임시 폴더는 앱이 종료될 때 삭제된다.
categories : 지원하지 않음. 항상 null 값을 리턴한다.
pref: 지원하지 않음. 항상 false 값을 리턴한다.
type: 지원하지 않음. 항상 null 값을 리턴한다.
name: 부분적으로 지원함. Organization에 대입한 배열중, 첫 번째 ContactOrganization만 유효하다.
department: 부분적으로 지원함. Organization에 대입한 배열중, 첫 번째 ContactOrganization만 유효하다.
title: 부분적으로 지원함. Organization에 대입한 배열중, 첫 번째 ContactOrganization만 유효하다.
<plugin name="Contacts" value="org.apache.cordova.ContactManager" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<feature name="Contacts">
<param name="ios-package" value="CDVContacts"/>
</feature>
var contact = navigator.contacts.create(properties);
var myContact = navigator.contacts.create({"displayName": "Test User"});
navigator.contacts.find(contactFields, contactSuccess, contactError, contactFindOptions);
유형 | 설명 | 타입 | 비고 |
contactFields | 검색하고자 하는 연락처 정보를 정의한다. | DOMString[] | [필수] |
contactSuccess | 연락처 데이터베이스 검색이 성공하였을 때 실행하는 함수 | | [필수] |
contactError | 검색에 실패하였을 때 실행하는 함수 | | [선택] |
contactFindOptions | 검색 조건을 정의한다. | | [선택] |
["name", "phoneNumbers", "emails"]
function(contacts) {
// Do something
}
function(code) {
// Do something
}
유형 | 설명 |
ContactError.UNKNOWN_ERROR | 알 수 없는 오류 |
ContactError.INVALID_ARGUMENT_ERROR | 잘못된 파라미터 오류 |
ContactError.TIMEOUT_ERROR | 시간 초과 오류 |
ContactError.PENDING_OPERATION_ERROR | 명령 지연 오류 |
ContactError.IO_ERROR | 읽기나 쓰기 중 오류 |
ContactError.NOT_SUPPORTED_ERROR | 지원하지 않음 |
ContactError.PERMISSION_DENIED_ERROR | 권한 부여에 대한 오류 |
{
filter: "",
multiple: true,
};
유형 | 설명 | 타입 | 비고 |
filter | 연락처 검색에 사용될 문자열(검색어) | DOMString | 기본값 : ”“ |
mutiple | 다중 연락처에 대한 검색 허용 여부 | Boolean | 기본값 : false |
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);
유형 | 설명 | 타입 |
id | 연락처에 대한 고유한 Id이다. | DOMString |
displayName | 사용자의 화면에 출력하는 연락처 이름이다. | DOMString |
name | 연락처에 저장된 이름 정보를 모두 포함하고 있다. | ContactName |
nickname | 연락처에 저장된 별명이다. | DOMString |
phoneNumbers | 전화번호를 배열 형태로 저장하고 있다. | ContactField[] |
emails | 관련 연락처에 대한 이메일 정보의 배열이다. | ContactField[] |
addresses | 관련 연락처의 주소에 대한 배열이다. | ContactAddresses[] |
ims | 관련 연락처에 대한 메신저 주소 정보의 배열이다. | ContactField[] |
organizations | 소속 단체 정보에 대한 배열이다. | ContactOrganization[] |
birthday | 관련 연락처에 대한 생일이다. | Date |
note | 관련 연락처에 대한 메모이다. | DOMString |
photos | 관련 연락처에 대한 사진이다. | ContactField[] |
categories | 연락처에 대한 분류 카테고리의 배열이다. | ContactField[] |
urls | 연락처에 대한 홈페이지 주소의 배열이다. | ContactField[] |
함수 | 설명 | 비고 |
clone | 호출한 Contact 객체를 복제하여 새로운 Contact 객체를 생성하고, 새로운 Contact 객체는 null이기 때문에 새로운 Contact 객체로 저장할 수 있도록 지원한다. | |
remove | 연락처 데이터베이스에서 호출한 Contact 객체를 삭제하고 성공 했을 경우에는 Contact 객체를, 실패했을 경우에는 ContactError 객체를 전달받는다. | |
save | 신규 Contact 객체 경우에는 디바이스 내, 연락처 데이터베이스에 등록하고, 존재하는 경우 연락처를 수정한다. | |
* Contact 객체의 name 속성에 해당하는 관련 속성들의 객체.
속성 | 설명 | 타입 |
formatted | 해당 연락처의 전체이름. | DOMString |
familyName | 전체 이름에서 ‘성’을 의미한다. | DOMString |
givenName | 전체 이름에서 ‘이름’을 의미한다. | DOMString |
middleName | 전체 이름에서 성과 이름 사이의 ‘중간 이름’. | DOMString |
honorificPrefix | ’Mr.’ 나 ‘Dr.’ 같은 접두 호칭을 의미한다. | DOMString |
honorificSuffix | ’Esq.’와 같은 접미 호칭을 의미한다. | DOMString |
속성 | 설명 | 타입 |
type | 필드 유형을 정의한다.(예: ‘home’ 은 집전화, ‘mobile’ 은 휴대전화.) | DOMString |
value | phone number 등과 같은 필드에 대한 값을 정의한다. | DOMString |
pref | ’true’ 일 경우 필드 내, 다수의 값들의 대표 값을 지정한다. | boolean |
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="";
var filter = ["displayName","addresses"];
navigator.contacts.find(filter, onSuccess, onError, options);
속성 | 설명 | 타입 |
pref | ContactAddress 객체의 대표 값 여부. | boolean |
type | 필드 유형을 정의한다. | DOMString |
formatted | 출력을 위한 전체 주소. | DOMString |
streetAddress | 동 / 읍 / 면 / 가 와 같은 전체 주소. | DOMString |
locality | ’시’ / ‘도’ 표기. | DOMString |
region | ’주’ / ‘지방’ 표기. | DOMString |
postalCode | 우편번호 표기. | DOMString |
country | 도시이름 표기. | DOMString |
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="";
filter = ["displayName","organizations"];
navigator.contacts.find(filter, onSuccess, onError, options);
속성 | 설명 | 타입 |
pref | ContactOrganization 객체의 대표 값 여부. | boolean |
type | 필드 유형을 정의한다.(예: ‘work’ 은 직장.) | DOMString |
name | 소속의 이름을 정의한다. | DOMString |
department | 소속 부서를 정의한다. | DOMString |
title | 소속 내의 직함을 정의한다. | DOMString |
// success callback
function onSuccess(contacts) {
for (var i=0; i<contacts.length; i++) {
alert(contacts[i].displayName);
}
};
// error callback
function onError(contactError) {
alert('onError!');
};
// specify contact search criteria
var options = new ContactFindOptions();
options.filter=""; // empty search string returns all contacts
options.multiple=true; // return multiple results
filter = ["displayName"]; // return contact.displayName field
// find contacts
navigator.contacts.find(filter, onSuccess, onError, options);
속성 | 설명 | 타입 |
filter | 검색어 또는 검색조건을 정의한다. | DOMString |
multiple | 검색 결과으로 다수의 연락처를 가져올 것인지의 여부. | Boolean |
유형 | 설명 |
ContactError.UNKNOWN_ERROR | 알 수 없는 오류 |
ContactError.INVALID_ARGUMENT_ERROR | 잘못된 파라미터 오류 |
ContactError.TIMEOUT_ERROR | 시간 초과 오류 |
ContactError.PENDING_OPERATION_ERROR | 명령 지연 오류 |
ContactError.IO_ERROR | 읽기나 쓰기 중 오류 |
ContactError.NOT_SUPPORTED_ERROR | 지원하지 않음 |
ContactError.PERMISSION_DENIED_ERROR | 권한 부여에 대한 오류 |
이 위키의 내용은 다음의 라이센스에 따릅니다 :
CC Attribution-Noncommercial-Share Alike 3.0 Unported전자정부 표준프레임워크 라이센스(
바로가기)
전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.