You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Java实现以分号分隔的多号码短信发送方案咨询

支持多手机号分号分隔的短信发送解决方案

没问题,我帮你调整代码来实现用分号分隔多个手机号批量发送短信的功能,具体步骤和修改后的代码如下:

核心思路

  • 把输入的号码字符串按分号;分割成手机号数组
  • 遍历数组中的每个手机号,先去除前后空格(避免输入时的空格干扰)
  • 过滤掉空的手机号(比如连续输入分号产生的空字符串)
  • 逐个给有效号码发送短信

修改后的完整代码

private void sendSMS() {
    String phoneNosInput = number.getText().toString().trim();
    String SMS = message.getText().toString().trim();
    
    // 按分号分割手机号,同时处理可能的空格
    String[] phoneNumbers = phoneNosInput.split(";");
    
    try {
        SmsManager smsManager = SmsManager.getDefault();
        
        for (String phoneNo : phoneNumbers) {
            String trimmedPhoneNo = phoneNo.trim();
            // 跳过空的号码
            if (!trimmedPhoneNo.isEmpty()) {
                smsManager.sendTextMessage(trimmedPhoneNo, null, SMS, null, null);
            }
        }
        
        Toast.makeText(this, "所有短信已发送", Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(this, "发送过程中出现错误", Toast.LENGTH_SHORT).show();
    }
}

额外注意事项

  • 权限申请:别忘了在AndroidManifest.xml中添加短信发送权限:
    <uses-permission android:name="android.permission.SEND_SMS" />
    
    对于Android 6.0(API 23)及以上的设备,还需要在代码中动态申请权限,否则会直接抛出权限异常。可以在调用sendSMS()方法前检查权限,没有的话请求权限。
  • 短信长度限制:如果你的短信内容较长,超过了单条短信的字符限制(一般是160个英文/70个中文),建议使用sendMultipartTextMessage()来发送长短信,避免内容被截断。

内容的提问来源于stack exchange,提问作者Guimove

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 20:03:02