Android Sms Manager Not Sending Sms
Am new for android . I want send sms after click send button first i have used sms manager api. package com.example.smsproject; import android.app.Activity; import android.cont
Solution 1:
To complete @Android Fanatic answer
If the text is too long, the message does not go away, you have to respect max length depending of encoding.
More information can be found here.
I'd prefer this method
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
ArrayList<PendingIntent> sendList = new ArrayList<>();
sendList.add(sentPI);
ArrayList<PendingIntent> deliverList = new ArrayList<>();
deliverList.add(deliveredPI);
sms.sendMultipartTextMessage(phoneNumber, null, parts, sendList, deliverList);
Solution 2:
Also SMS Manager doesn't sent messages if the message is longer than 160 for English text, and 70 for 16-bit alphabet text. Try sending small English text to see if it's the case. (You can sent multiple part messages to send long texts).
Solution 3:
Use following code to send sms Message, here the error will be shown in Toast
--sends an SMS message to another device---
privatevoidsendSMS(String phoneNumber, String message)
{
StringSENT = "SMS_SENT";
StringDELIVERED = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
newIntent(SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
newIntent(DELIVERED), 0);
//---when the SMS has been sent---registerReceiver(newBroadcastReceiver(){
@OverridepublicvoidonReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
caseActivity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
break;
caseSmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Generic failure",
Toast.LENGTH_SHORT).show();
break;
caseSmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "No service",
Toast.LENGTH_SHORT).show();
break;
caseSmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "Null PDU",
Toast.LENGTH_SHORT).show();
break;
caseSmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Radio off",
Toast.LENGTH_SHORT).show();
break;
}
}
}, newIntentFilter(SENT));
//---when the SMS has been delivered---registerReceiver(newBroadcastReceiver(){
@OverridepublicvoidonReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
caseActivity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
break;
caseActivity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}
}, newIntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
Solution 4:
Stringincomming="9876543210";
android.telephony.SmsManager sms=android.telephony.SmsManager.getDefault();
sms.sendTextMessage(incomming, null,"Here Is Sms", null, null);
Solution 5:
Log.d("SMS ready to send", "----FIRST CALL----");
Stringnumber = "111111111111"; //ed1.getText().toString();String message = "Test SMS DATA"; //ed2.getText().toString();Log.d("SMS ready to send", "----SECOND CALL----"+number);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, message, null, null);
Log.d("SMS ready to send", "----THIRD CALL----");
Post a Comment for "Android Sms Manager Not Sending Sms"