//---sends an SMS message to another device--- | |
private void sendSMS(String phoneNumber, String message) | |
{ | |
String SENT = "SMS_SENT"; | |
String DELIVERED = "SMS_DELIVERED"; | |
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, | |
new Intent(SENT), 0); | |
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, | |
new Intent(DELIVERED), 0); | |
//---when the SMS has been sent--- | |
registerReceiver(new BroadcastReceiver(){ | |
@Override | |
public void onReceive(Context arg0, Intent arg1) { | |
switch (getResultCode()) | |
{ | |
case Activity.RESULT_OK: | |
Toast.makeText(getBaseContext(), "SMS sent", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
case SmsManager.RESULT_ERROR_GENERIC_FAILURE: | |
Toast.makeText(getBaseContext(), "Generic failure", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
case SmsManager.RESULT_ERROR_NO_SERVICE: | |
Toast.makeText(getBaseContext(), "No service", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
case SmsManager.RESULT_ERROR_NULL_PDU: | |
Toast.makeText(getBaseContext(), "Null PDU", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
case SmsManager.RESULT_ERROR_RADIO_OFF: | |
Toast.makeText(getBaseContext(), "Radio off", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
} | |
} | |
}, new IntentFilter(SENT)); | |
//---when the SMS has been delivered--- | |
registerReceiver(new BroadcastReceiver(){ | |
@Override | |
public void onReceive(Context arg0, Intent arg1) { | |
switch (getResultCode()) | |
{ | |
case Activity.RESULT_OK: | |
Toast.makeText(getBaseContext(), "SMS delivered", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
case Activity.RESULT_CANCELED: | |
Toast.makeText(getBaseContext(), "SMS not delivered", | |
Toast.LENGTH_SHORT).show(); | |
break; | |
} | |
} | |
}, new IntentFilter(DELIVERED)); | |
SmsManager sms = SmsManager.getDefault(); | |
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); | |
} |
Very Good!!! thanks!
Why "Generics failure" error is coming while sending SMS through my ?
Please solve my problem
Why "Generics failure" error is coming while sending SMS through my ?
I got the same problem
Default messaging app works fine but when i am trying to send sms from my app everytime it gives error generic failure and in default Messaging app that message shows Failed with retry button
Default messaging app works fine but when i am trying to send sms from my app everytime it gives error generic failure and in default Messaging app that message shows Failed with retry button
Can you show me the syntax of phone number, i think i can help you.
val sms = SmsManager.getDefault()
sms.sendTextMessage(mobileNumber, null, "url", sentPI, deliveredPI) //+9176XXXXXXXX
try to remove the " + " from the phone number i think it will works fine.
val sms = SmsManager.getDefault()
sms.sendTextMessage(mobileNumber.replace("+",""), null, "url", sentPI, deliveredPI)
still same issue
#HelpingHands
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
val subscriptionManager: SubscriptionManager = context!!.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE) as SubscriptionManager
val subscriptionInfoList = subscriptionManager.activeSubscriptionInfoList
//https://stackoverflow.com/questions/27351936/how-to-send-a-sms-using-smsmanager-in-dual-sim-mobile
val sms = SmsManager.getSmsManagerForSubscriptionId(subscriptionInfoList.get(0).subscriptionId)
sms.sendTextMessage(mobileNumber, null, url, sentPI, deliveredPI)
it works fine with me
@Antarix where your unregistering the broad cast receivers?
Hello,
I want to retrieve for each SMS send its status, either to deliver or not, for example, I have a class represents a sms called 'SmsClass' contains four attributes (id, phone, message, state).
Qaunt I send a sms I want to change the state of each object.
How can I do that, please help me.