Unfortunately there is (currently) no way to implement a BroadcastReceiver
because the standard sms application uses a SmsManger
to send the messages but specifies concrete internal classes for the sent and delivered intents (SmsReceiver.class
and MessageStatusReceiver.class
respectively). Not that it is any consolation but you can find the following comment in the Sms application’s source:
// TODO: Fix: It should not be necessary to
// specify the class in this intent. Doing that
// unnecessarily limits customizability.
The best alternative seems to be polling content://sms/sent
, potentially using a ContentObserver
.