Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Gestire i contatti della rubrica

Accedere alla rubrica, aggiungere contatti e definire nuovi dettagli ed effettuare ricerche
Accedere alla rubrica, aggiungere contatti e definire nuovi dettagli ed effettuare ricerche
Link copiato negli appunti

È possibile gestire i contatti della rubrica di un dispositivo tramite l'oggetto globale contacts accessibile tramite il solito navigator. Dal punto di vista di Cordova, un contatto è un oggetto che ha le seguenti proprietà:

Proprietà Descrizione
id Un identificatore univoco del contatto
displayName Il nome del contatto adatto alla visualizzare per l'utente
name Il nome del contatto in tutte le sue componenti: nome, cognome, secondo nome, prefisso, ecc. Questa proprietà è a sua volta un oggetto.
nickname Il nickname del contatto
phoneNumbers Un array di oggetti che rappresentano i recapiti telefonici del contatto
emails Un array di oggetti che rappresentano i recapiti di posta elettronica del contatto
addresses Un array di oggetti che rappresentano i recapiti postali del contatto
ims Un array di oggetti che rappresentano i recapiti di messaggistica istantanea del contatto
organizations Un array di oggetti che rappresentano le organizzazioni di appartenenza del contatto
birthday La data di compleanno del contatto
note Note sul contatto
photos Un array di oggetti che rappresentano foto del contatto
categories Un array di oggetti che rappresentano delle categorie assegnate dall'utente al contatto
urls Un array di oggetti che rappresentano pagine web associate al contatto

Da segnalare che le proprietà elencate sono quelle previste da Apache Cordova ma il loro effettivo supporto dipende dalla specifica piattaforma.

Tramite il metodo create() dell'oggetto contacts possiamo creare un nuovo contatto come mostrato dal seguente codice:

var myContact = navigator.contacts.create({"displayName": "Mario Rossi", "note": "Nuovo utente"});
myContact.name.givenName = "Mario";
myContact.name.familyName = "Rossi";
myContact.phoneNumbers.push({"type": "home", "value": "0123456789"});

I dettagli del nuovo contatto possono essere forniti direttamente al metodo create() o aggiunti all'oggetto restituito dal metodo. È importante notare che il metodo create() si limita a creare un oggetto di tipo contatto senza aggiungerlo alla rubrica, cosa che può essere fatta tramite il metodo save() del contatto stesso:

myContact.save(onSuccess, onError);

Gli argomenti specificati rappresentano le funzioni di callback da eseguire rispettivamente in caso di successo o di errore nel salvataggio del contatto. Sono previsti anche i metodi remove(), per eliminare un contatto dalla rubrica, e clone(), per creare una copia.

Possiamo interrogare la rubrica del dispositivo per trovare uno o più contatti sfruttando il metodo find() dell'oggetto contacts:

var options = new ContactFindOptions();
options.filter = "Rossi";
options.multiple = true;
var fields = ["displayName", "phoneNumbers"];
navigator.contacts.find(fields, onSuccess, onError, options);

Il metodo richiede un array di stringhe che rappresenta l'elenco dei campi del contatto da recuperare, le callback di successo ed errore ed un oggetto opzionale di tipo ContactFindOptions contenente i criteri di ricerca. Questo oggetto prevede due proprietà: filter, che consente di specificare una stringa per filtrare i contatti, e multiple, un valore booleano che indica se restituire tutti i contatti trovati (true) o soltanto il primo (false).

Il contatto o i contatti trovati vengono passati sotto forma di array di oggetti di tipo Contact alla callback di successo.

Ti consigliamo anche