发送短信给android中的多个人

我想知道,如果有反正我可以发送短信到多个人使用SmsManager。 我知道我可以通过联系人运行一个循环,并单独发送短信,但我认为可能有办法做到这一点。

我使用的代码如下:

SmsManager.getDefault().sendTextMessage("PHONE_NOS", null,msg.getText().toString(), sentPI, deliveredPI); 

PS:我尝试过使用“;” 作为分隔符。 但唯一发生的事情是,它只发送短信给列表中的第一个人。

为了这个迟到的人的利益,不可能把短信发送给多个人。 正如比尔·莫特(Bill Mote)所指出的那样,如果有这样的可能,就会有一个以“数字列表”作为参数的API。 所以唯一可能的解决scheme是有一个迭代器的数字,并一次发送一个。

Solutions Collecting From Web of "发送短信给android中的多个人"

这里的净networking是不能通过迭代循环并发送1个消息给1个收件人来完成的。

我花了1/2周六试图做这件事情。 我无法使用“;”,“,”,“”或“\ n”。 我应该先试着用所有的分隔符分隔硬编码的2个接收者,但是我学到了一个有关Android SDK的有价值的教训:如果他们想要一次发送给多个接收者,那么他们会接受一个ArrayList或者string数组而不是单数string;)

 protected void sendMsg(Context context, SmsMessage smsMessage) { SmsManager smsMgr = SmsManager.getDefault(); ArrayList<string> smsMessageText = smsMgr.divideMessage(smsMessage.getMsgBody()); PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_SENT"), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_DELIVERED"), 0); int AddresseesPerMessage = 10; StringBuilder builder = new StringBuilder(); String delim = ""; for (ContactItem c:smsMessage.getAddresseeList()) { // For every phone number in our list builder.append(delim).append(c.getPhoneNumber().toString()); delim=";"; if (((smsMessage.getAddresseeList().indexOf(c)+1) % AddresseesPerMessage) == 0 || smsMessage.getAddresseeList().indexOf(c)+1 == smsMessage.getAddresseeList().size()) { // using +1 because index 0 mod 9 == 0 for(String text : smsMessageText){ // Send 160 bytes of the total message until all parts are sent smsMgr.sendTextMessage(builder.toString(), null, text, sentPI, deliveredPI); } builder.setLength(0); delim=""; } } } 

这可能对你有帮助。

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnSendSMS = (Button) findViewById(R.id.btnSendSMS); btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.putExtra("address", "5556; 5558; 5560"); // here i can send message to emulator 5556,5558,5560 // you can change in real device i.putExtra("sms_body", "Hello my friends!"); i.setType("vnd.android-dir/mms-sms"); startActivity(i); } }); } 

在AndroidManifest.xml中添加这一行

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