Reputation: 2877
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);
}
};
Upvotes: 10
Views: 25400
Reputation: 8947
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);
Upvotes: 1
Reputation: 2299
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();
Upvotes: 3
Reputation: 348
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.
Upvotes: 1
Reputation: 3288
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);
Upvotes: 12