2017-10-09 8 views
0

J'essaie d'envoyer des sms de mon mobile Android à un autre mobile en utilisant SMS Manager. Le code fonctionne bien, pas d'erreur. Mais quand j'ai testé après avoir envoyé le sms, le sms n'a pas atteint sur l'autre dispositif. Je recherche beaucoup à ce sujet mais n'ai aucune solution. Aussi j'ai dual sim..is-il un problème avec cela ....? Après mon codesms n'atteint pas sur un autre appareil lors de l'envoi par SMS Manager

public void test(View v) 
{ 
    askPermission(); 

try { 

String phoneNumber = "1234567890"; 
String message = "This sms is sent by Meenakshi "; 
SmsManager smsManager = SmsManager.getDefault(); 
//ArrayList<String> parts = smsManager.divideMessage(message); 
smsManager.sendTextMessage(phoneNumber, null, message, null, null); 

Toast.makeText(birthday_wish.this, "Message Sent", 
     Toast.LENGTH_LONG).show(); 
} 
catch (Exception e) 
{ 
e.printStackTrace(); 
Toast.makeText(birthday_wish.this, "Message not Sent", 
     Toast.LENGTH_LONG).show(); 
} 
} 

private void askPermission() { 
    ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS},1); 
} 

dans le manifeste -

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

publier votre logcat ici –

+0

Je ne suis pas sûr, mais la question est peut-être avec le fournisseur, pouvez-vous capable d'essayer avec d'autres fournisseurs de services SIM. – Sree

+0

J'ai testé votre code. Ça fonctionne bien. J'envoie un sms à un numéro complet .. avec des chiffres internationaux ... comme +112123456789 (code international, code régional et numéro) .... Donc, soit est un problème de transporteur ou vous envoyez un mauvais numéro (ne pas envoyer avec format de nombre attendu par votre transporteur) – W0rmH0le

Répondre

-1

Essayez cette

 String phoneNumber = "1234567890"; 
     String smsBody= "This sms is sent by Meenakshi "; 
     try { 
       SmsManager smsManager = SmsManager.getDefault(); 
       PendingIntent piSend = PendingIntent.getBroadcast(mContext, 0, new Intent("SMS_SENT"), 0); 
       PendingIntent piDelivered = PendingIntent.getBroadcast(mContext, 0, new Intent("SMS_DELIVERED"), 0); 
       if (smsBody.length() > 160) { 
        ArrayList<String> msgList = smsManager.divideMessage(smsBody); 
        smsManager.sendMultipartTextMessage(mobile, null, msgList, null, null); 
       } else { 
        smsManager.sendTextMessage(mobile, null, smsBody, piSend, piDelivered); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
+0

J'ai essayé votre solution mais son ne fonctionne pas .... –