Android Diffusion récepteur pour les messages SMS envoyés?
-
13-09-2019 - |
Question
J'ai créé un BroadcastReceiver
et configuré avec un filtre d'action android.provider.Telephony.SMS_RECEIVED
il est appelé à chaque fois que le téléphone reçoit un texte.
Y at-il un événement / action ou autre moyen pour que ma demande soit avisé chaque fois que le téléphone envoie un texte (de préférence indépendante de l'application qui envoie)?
Jusqu'à présent, la seule option que je vois est d'interroger le fournisseur de contenu pour content://sms/sent
qui ne même pas me donner tous les textes envoyés parce que les applications peuvent choisir de ne pas le mettre là.
La solution
Malheureusement, il est (actuellement) aucun moyen de mettre en œuvre un BroadcastReceiver
car l'application sms standard utilise une SmsManger
pour envoyer les messages, mais spécifie les classes internes concrètes pour les intentions envoyés et livrés (respectivement SmsReceiver.class
et MessageStatusReceiver.class
). Non pas que c'est une consolation mais vous pouvez trouver le commentaire suivant de l'application Sms Source :
// TODO: Fix: It should not be necessary to
// specify the class in this intent. Doing that
// unnecessarily limits customizability.
La meilleure alternative semble être content://sms/sent
de vote, ce qui pourrait l'aide d'un ContentObserver
.