2017-10-09 58 views
0

我想用我的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

回答

-1

嘗試這個

 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

我試過你的解決方案,但它不工作.... –