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à.

Était-ce utile?

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 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top