2011-08-19 82 views
0

如何将短信发送到多个联系人,并获得android中的每个人的结果代码?如何发送短信给多个联系人,并获得他们每个人的结果代码在android123

我问下面的链接了同样的问题,但无法找到一个解决方案:

+0

我会说你所寻求的知识不在这里 - 另一个地方可能是另一个地方owledge sink – KevinDTimm

+0

你到现在为止所尝试过的。 –

+0

Downvoting,因为这不是一个问题,你显然试图通过垃圾邮件滥用SO的工作方式。 – Layke

回答

0

这可能会帮助你

private void sendSMS(final String phoneNumber, String message,String messageID) 
{   
    PendingIntent pi = PendingIntent.getActivity(this, 0, 
     new Intent(this, SM.class), 0);  
    pi.putExtras("messageID",messageID);    
    SmsManager sms = SmsManager.getDefault(); 
    //sms.sendTextMessage(phoneNumber, null, message, pi, null); 


    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); 
    sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); 


    //---when the SMS has been sent--- 
    registerReceiver(new BroadcastReceiver(){ 
     @Override 
     public void onReceive(Context arg0, Intent arg1) { 
      //showMessage("sms has been sent with reusltcode "+getResultCode()); 
      String id=arg1.getBundle().getExtras().getString("messageID"); 
      //This will recognize your message 

      switch (getResultCode()) 
      { 
       case Activity.RESULT_OK: 
        Toast.makeText(getBaseContext(), "SMS sent to "+phoneNumber, 
          Toast.LENGTH_LONG).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(){ 
     public void onReceive(Context arg0, Intent arg1) { 
      showMessage("sms has been delivered with reusltcode "+getResultCode()); 

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

} 
+0

感谢您的帮助,但pendingintent没有采取额外的措施 – Sando

+0

PendingIntent pi = PendingIntent.getActivity(this,0,012,new Intent(this,SM.class),0); pi.putExtras(“messageID”,messageID); – Sando

+0

尝试使用请求代码。第2个参数是请求代码。为每个消息更改此参数并实现onActivityResult并检索请求代码 – Rasel

相关问题