From 040ea0b94cc0414ef5233a05d4c6e6557552feb8 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Tue, 7 Dec 2021 17:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E8=BD=AC=E5=8F=91?= =?UTF-8?q?=E5=88=B0=E5=85=B6=E4=BB=96=E6=89=8B=E6=9C=BA=EF=BC=8C=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=94=A8=E5=88=86=E5=8F=B7?= =?UTF-8?q?=E5=88=86=E9=9A=94=E6=97=A0=E6=95=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/utils/SmsUtil.java | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/SmsUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/SmsUtil.java index f9027930..8c085386 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/SmsUtil.java +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/SmsUtil.java @@ -30,29 +30,33 @@ public class SmsUtil { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1) public static String sendSms(int subId, String mobiles, String message) { - mobiles = mobiles.replace(";", ";"); + mobiles = mobiles.replace(";", ";").replace(",", ";").replace(",", ";"); Log.d(TAG, "subId = " + subId + ", mobiles = " + mobiles + ", message = " + message); - try { - SmsManager smsManager = SmsManager.getSmsManagerForSubscriptionId(subId); - @SuppressLint("UnspecifiedImmutableFlag") PendingIntent sendPI = PendingIntent.getBroadcast(context, 0, new Intent(Context.TELEPHONY_SUBSCRIPTION_SERVICE), PendingIntent.FLAG_ONE_SHOT); - @SuppressLint("UnspecifiedImmutableFlag") PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0, new Intent("DELIVERED_SMS_ACTION"), 0); - - ArrayList sentPendingIntents = new ArrayList<>(); - ArrayList deliveredPendingIntents = new ArrayList<>(); - ArrayList divideContents = smsManager.divideMessage(message); - - for (int i = 0; i < divideContents.size(); i++) { - sentPendingIntents.add(i, sendPI); - deliveredPendingIntents.add(i, deliverPI); + String[] mobileArray = mobiles.split(";"); + for (String mobile : mobileArray) { + try { + SmsManager smsManager = SmsManager.getSmsManagerForSubscriptionId(subId); + @SuppressLint("UnspecifiedImmutableFlag") PendingIntent sendPI = PendingIntent.getBroadcast(context, 0, new Intent(Context.TELEPHONY_SUBSCRIPTION_SERVICE), PendingIntent.FLAG_ONE_SHOT); + @SuppressLint("UnspecifiedImmutableFlag") PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0, new Intent("DELIVERED_SMS_ACTION"), 0); + + ArrayList sentPendingIntents = new ArrayList<>(); + ArrayList deliveredPendingIntents = new ArrayList<>(); + ArrayList divideContents = smsManager.divideMessage(message); + + for (int i = 0; i < divideContents.size(); i++) { + sentPendingIntents.add(i, sendPI); + deliveredPendingIntents.add(i, deliverPI); + } + smsManager.sendMultipartTextMessage(mobile, null, divideContents, sentPendingIntents, deliveredPendingIntents); + + } catch (Exception e) { + Log.e(TAG, Objects.requireNonNull(e.getMessage())); + return e.getMessage(); } - smsManager.sendMultipartTextMessage(mobiles, null, divideContents, sentPendingIntents, deliveredPendingIntents); - - return null; - } catch (Exception e) { - Log.e(TAG, Objects.requireNonNull(e.getMessage())); - return e.getMessage(); } + + return null; } }