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

