Cordova-android-sms-reader est un plugin permettant la lecture des sms dans des applications cordova sur Android.
Veuillez utiliser l'utilitaire cordova pour installer le plugin dans votre application.
# Depuis le répo NPM
cordova plugin add cordova-android-sms-reader
# Directement depuis Git
cordova plugin add https://github.com/J4YF7O/cordova-android-sms-reader.git
// Chargement du plugin
const casr = cordova.require("cordova-android-sms-reader.smsreader");
// casr correspond à : {permission: Permission, smsreader: SMSReader}
Une seule permission est requise par les appareils android pour avoir accès à l'ensemble des sms : android.permission.READ_SMS
casr.permission.requestPermission().then(() => {
// L'utilisateur vous donne accès à ses sms
}).catch(() => {
// L'utilisateur refuse que vous accédiez à ses sms
});
Vous pouvez seulement vouloir tester que l'utilisateur possède la permission nécessaire :
casr.permission.assertPermission().then(() => {
// Vous avez accès aux sms
}).catch(() => {
// Vous n'avez pas accès aux sms
});
// SMS Interface
interface SMS {
id: number;
address: string;
body: string;
read: boolean;
date: number;
type: SMSSource;
}
enum SMSSource {
ALL = "",
INBOX = "inbox",
SENT = "sent"
}
// Lecture de tous les sms
casr.smsreader.read().then((smsResult) => {
// Un tableau avec l'ensemble des sms est accéssible sur le getter "all" de la class "SMSResult" :
const tousLesSMS = smsResult
}).catch(() => {
// Une erreur est servenue
})
// Lecture des sms reçu (inbox)
const tousLesSMSReçus = await casr.smsreader.read(SMSSource.INBOX);
// Lecture des sms envoyé (sent)
const tousLesSMSEnvoyés = await casr.smsreader.read(SMSSource.SENT);
Cette catégorie regroupe les informations sur les filtres
- Les filtres sont "concaténable"
tousLesSMS
.read()
.withPhoneNumbers("+33606060606")
.bodiesInclude("recherche")
.all;
tousLesSMS.read().all
// Only one phone number
tousLesSMS.withPhoneNumbers("+33606060606").all;
// Multiple phone numbers
tousLesSMS.withPhoneNumbers("+33606060606", "+33707070707").all;
/// From array
const pN = ["+33606060606", "+33707070707"];
tousLesSMS.withPhoneNumbers(...pN).all;
// Par défault nous regardons l
tousLesSMS.bodiesInclude("recherche").all;
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.
- Fix "permission" verification