Home » Android » android – smsManager.sendTextMessage is not working

android – smsManager.sendTextMessage is not working

Posted by: admin June 15, 2020 Leave a comment


I have the below event to send sms programatically. However is doens’t seem to work, the toast pop up appears and there is no entry in logcat, just no message is created. I have also added the appropriate permissions to manifest file.

Any suggetsions?

 private Runnable SMSRunnable = new Runnable()
     public void run()
         smsManager = SmsManager.getDefault();

        smsNumber = edittextSmsNumber.getText().toString();
        smsText = edittextSmsText.getText().toString();

        smsManager.sendTextMessage(smsNumber, smsNumber, smsNumber , null, null);

How to&Answers:

Try this.

SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";

sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);

sms.sendTextMessage(phoneNumber, null, message, sentPI, null);


Actually this is working for me:

String messageText = "...YOUR TEXT HERE...";
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("PHONE NUMBER HERE", null, messageText, null, null);

Just to be sure, with this you will not find the message sent in your message history.


I spent lots of time then I figured out that I could just prepend the country code. For me prepending “+91” before the phone number worked like a champ.

String phnNumber="+91"+editText.getText().toString();


This is what works for me:

PendingIntent pi = PendingIntent.getActivity(this, 0,
        new Intent(this, Next.class), 0); 
//Next is the class to move when message sent
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("phno", null, "message", null, null);