android - 在android中向多人发送短信

标签 android sms

我想知道我是否可以使用 SmsManager 向多人发送短信。我知道我可以通过联系人循环并单独发送短信,但我认为可能有办法做到这一点。

我使用的代码如下:

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

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

为了看到这么晚的人的利益,不能向多人发送短信。正如 Bill Mote 所指出的,如果有这样的事情可能,就会有一个 API 将“数字列表”作为参数。 所以唯一可能的解决方案是为数字设置一个迭代器并一次发送一个。

最佳答案

这里的 net-net-net 是不通过循环迭代并向 1 个收件人发送 1 条消息就无法完成的。

我每个星期六都花 1/2 时间来做这件事。我无法让它与“;”、“,”、“”或“\n”一起工作。我应该先尝试硬编码 2 个由所有分隔符分隔的收件人,但我确实学到了关于 Android SDK 的宝贵经验:如果他们希望您一次发送给多个收件人,那么他们会接受 ArrayList 或字符串数组而不是单个字符串 ;)

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="";
            }
        }
    }

关于android - 在android中向多人发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5448140/

相关文章:

android - 将 css 文件包含到 android studio 中的按钮

android - 使用 Canvas 时背景只是黑色

Android:通过 Activity 移动

serial-port - 当我从西门子 TC35 GSM 模块和 Arduino 读取短信时,短信被截断

ios - 什么会阻止我的用户接收短信?

android - SMPP 中串联 SMS 的最大长度是多少?

python - 如何使用 python-phonenumbers 库检查电话号码的类型?

android - 如何信任我的应用程序中的所有自签名证书

java - 尝试安装 Eclipse w/ADT 插件

android - 如何使图像的一部分透明?