Wolf87
Wolf87

Reputation: 540

SMS send is not working on real device?

on emulator I test app and it's working, but when I put on real device keep telling me that: SMS sending faild would you like to try again. Some numbers looks like this +381624578588 or +38163-12-345-67, also I try only with 0629876543, and always the same thing, those are exemples but I tried on real numbers. please help.

here is my code for sms method:

private void sendPoruka(String ime2, String napisaniTekst2) {

  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 context, Intent intent) {
       // TODO Auto-generated method stub
       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(ime2, null, napisaniTekst2, sentPI, deliveredPI);          
}

Upvotes: 0

Views: 385

Answers (1)

Dinesh Sharma
Dinesh Sharma

Reputation: 11571

check if you have taken the following permission in your manifest file :

<uses-permission android:name="android.permission.SEND_SMS"/>
   <uses-permission android:name="android.permission.RECEIVE_SMS" />

Upvotes: 2

Related Questions