I'd like to detect sms incoming and outgoing automatically from my application at background whenever this app is opening or not. how to code?
            Asked
            
        
        
            Active
            
        
            Viewed 3.2k times
        
    2 Answers
28
            This is a good tutorial on both sending and receiving sms messages: http://mobiforge.com/developing/story/sms-messaging-android .
For the incoming messages you can indeed configure a broadcastlistener for detection. *
Detecting outgoing messages is also possible (just altered this post since I dind't know this). from: http://www.mail-archive.com/android-developers@googlegroups.com/msg26420.html
ContentResolver contentResolver = context.getContentResolver();
  contentResolver.registerContentObserver(Uri.parse("content://
sms"),true, myObserver);
        hcpl
        
- 17,382
 - 7
 - 72
 - 73
 
- 
                    1
 - 
                    1Beginning with API level 19, the URI is added to the API and you get use `Telephony.Sms.CONTENT_URI` instead of `Uri.parse("content:// sms")`. – Martin Böschen Apr 08 '15 at 13:45
 - 
                    
 - 
                    If we register with content://sms than its called even on Message is deleted. How do I specifically detect if its SENT msg only. Also in my device content change for content://sms/sent is not triggered. – Vaibs Sep 19 '17 at 06:33
 
1
            
            
        System broadcasts appropriate messages when messages are sent and received. You will have to create BroadCastReceiver for appropriate Intents(see documentation for details ... I think it is android.provider.Telephony.SMS_RECEIVED for interception not sure of sending though) 
        Samuh
        
- 36,316
 - 26
 - 109
 - 116