Reputation: 71
i am using this code to send sms automatically but is not working ,i am able to send sms by using intent
SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";
sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);
sms.sendTextMessage("+91"+"**********", null, "hii param", sentPI, null);
Toast.makeText(getApplicationContext(), "Your sms sent check your inbox",Toast.LENGTH_LONG).show();
Upvotes: 0
Views: 2048
Reputation: 1503
Use Permissions in your Android.manifest file like this
<uses-permission android:name="android.permission.SEND_SMS"/>
And then invoke the SmsManager i.e
SmsManager managerForSms = SmsManager.getDefault();
managerForSms.sendTextMessage("Your text message");
Or you may refer to this Stack's question How to send sms in Android. (See accepted Answer)
Upvotes: 1
Reputation: 3486
Code Which works for me is this.. Before you need to provide permission in manifest and also need to ask during runtime
<uses-permission android:name="android.permission.SEND_SMS" />
and in Activity
runOnUiThread(new Runnable() {
@Override
public void run() {
String number = SMSEditText.getText().toString();
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, Message, null, null);
} catch (Exception e) {
e.printStackTrace();
}
}
});
also if message lenght is greater than 140 or something.. you need to split the message otherwise. it wont work .. which can be acheived by mulitpart text message
Upvotes: 0
Reputation: 18386
Try this code,
public void sendSMS(String phoneNo, String msg){
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
And use this permission in your manifest file
<uses-permission android:name="android.permission.SEND_SMS" />
Update:
Add your country code before pass the phone number
String phoneNo="+91"+editText.getText().toString();
Update 2:
Another possible cause for not working
If u are testing this code in dual sim phone then sim slot 1 always keep active otherwise it " no service" error.
reference - https://stackoverflow.com/a/32090923/3879847
Upvotes: 0