短信通过短信管理器发送时没有到达其他设备

问题描述:

我想用我的android手机发送短信到另一个使用短信管理器的手机。代码工作正常,没有错误。但是当我在发送短信之后进行测试时,短信尚未在其他设备上显示。我对此进行了很多搜索,但没有得到任何解决方案。另外我有双SIM卡..有没有问题....? 以下是我的代码短信通过短信管理器发送时没有到达其他设备

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); 
} 

在清单 -

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

发表您的logcat这里 –

+0

,我不知道,但这个问题可能与供应商,你能不能能够尝试与其他服务提供商SIM卡。 – Sree

+0

我测试了你的代码。它工作正常。我发送短信给一个完整的号码..与国际数字...像+112123456789(国际代码,区号和号码)....所以,无论是载体的问题,或者你发送到错误的号码(不发送数字格式预计由您的运营商) – W0rmH0le

尝试这个

 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

我试过你的解决方案,但它不工作.... –