Un altro interessante servizio Angular messo a disposizione da ngCordova
è $cordovaSms
che ci permette di inviare messaggi SMS da una applicazione Ionic. Il servizio espone le funzionalità del relativo plugin di Cordova, la cui installazione può essere effettuata tramite il seguente comando:
ionic plugin add cordova-sms-plugin
L'invio di un SMS da un'applicazione è molto semplice e si basa sull'uso del metodo send()
del servizio. Il seguente esempio mostra come utilizzare questo metodo:
$ionicPlatform.ready(function() {
$cordovaSms.send("+393331122333", "Testo del messaggio")
.then(function() {
console.log("SMS inviato!");
},
function(err) {
console.error("Errore nell'invio del messaggio");
});
});
È possibile specificare un terzo argomento al metodo send()
con delle opzioni, come nel seguente esempio:
$ionicPlatform.ready(function() {
$cordovaSms.send( "+393331122333",
"Testo del messaggio",
{
replaceLineBreaks: true,
android: {intent=""}
}
)
.then(function() {
console.log("SMS inviato!");
},
function(err) {
console.error("Errore nell'invio del messaggio");
});
});
Come possiamo vedere, il terzo argomento è costituito da un oggetto che presenta le proprietà replaceLineBreaks
e android
. La prima proprietà è di tipo booleano e indica se nel testo del messaggio la sequenza di caratteri \n
deve essere sostituita con dei ritorni a capo. La seconda proprietà, invece, rappresenta un'impostazione valida solo per la piattaforma Android. Infatti, su questa piattaforma l'impostazione mostrata nell'esempio indica che l'invio del messaggio deve essere effettuato senza aprire l'applicazione nativa per l'invio degli SMS.