Una delle funzionalità notoriamente più sfruttate dagli utenti Gmail è quella dell’uso delle etichette, che rendono la propria casella email più ordinata e permettono di avere un’idea per così dire “semantica” della posta in entrata, magari ancor prima di leggerla.
Questa caratteristica, ovviamente inclusa anche nell’app
ufficiale per i terminali Android, non era ancora disponibile per le
applicazioni di terzi: grazie al lavoro dell’Android Team, ora sono disponibili
nuove API che sopperiscono a questa mancanza.
Come prerequisito per sfruttare il nuovo pacchetto di classi
messe a disposizione, dal momento che esse si appoggiano all’applicazione Gmail
installata sul telefono/tablet, è necessario che l’applicazione stessa sia in
versione uguale o superiore alla 2.3.6 per Android Froyo o Gingerbread
(rispettivamente 2.2 e 2.3) oppure alla 4.0.5 su Honeycomb e Ice Cream Sandwich
(rispettivamente 3 e 4).
Queste API permettono di lavorare sia con le etichette
predefinite sia con etichette personalizzate presenti nella casella email.
Una volta accoppiata l’applicazione con un account Gmail
funzionante, tramite AccountManager, viene messa a disposizione degli utenti la
classe GmailContract
che permette di ottenere un nuovo oggetto di tipo Cursor contenente tutte le informazioni per le etichette della
casella di posta accoppiata.
I dati ottenibili tramite l’uso di GmailContract sono:
I dati ottenibili tramite l’uso di GmailContract sono:
- il nome dell'etichetta (presente come NAME e CANONICAL_NAME: è consigliato l'uso di CANONICAL_NAME dal momento che NAME può variare a seconda, ad esempio, della localizzazione del dispositivo in uso);
- il MIME-type di un elemento al suo interno;
- il numero delle conversazioni al suo interno;
- i suoi colori di background e foreground;
- il suo URI.
Può anche essere effettuata una query che restituisca
direttamente la lista delle etichette tramite l’URL fornito dal metodo
getLabelsUri interno alla classe GmailContract.Labels, che richiede come
argomento il nome di un account Gmail valido.
Inoltre per quanto detto in precedenza sulle dipendenze
richieste – cioè la versione corretta di Gmail – la classe GmailContract
fornisce un metodo, canReadLabels,
che restituisce vero o falso a seconda che la versione di Gmail installata
supporti o meno le API per le etichette.
Da notare che è ovviamente necessario che l’applicazione da
noi sviluppata abbia i permessi in lettura, ovvero in questo caso
READ_CONTENT_PROVIDER e GET_ACCOUNTS.
Via | Android blog
Via | Android blog
Nessun commento:
Posta un commento