Question

Im am trying to send a SMS to an array of numbers in Android however the SMS is only being sent to the first number in the array. What could be going wrong?

Here is my code:

                        android.telephony.SmsManager shortMessageManager;
                    shortMessageManager = SmsManager.getDefault();

                    // Get DB
                    dbTools = new DBTools(MainActivity.this);

                    // Get array
                    ArrayList<String> phoneNumberArray = dbTools
                            .getAllphoneNumbers();



                    String SMSNumbers = phoneNumberArray.toString();


                    String message = "Hello from Android";
                    try {
                        // Do something
                        shortMessageManager.sendTextMessage(SMSNumbers,
                                null, message, null, null);
                        Log.d("PhoneNo", SMSNumbers);
                    } catch (Exception e) {
                        Log.d("PhoneNo", "fail");
                    }

I've logged the "SMSNumbers" and it outputs each number in the array seperated by a , and a space.

Was it helpful?

Solution

I converted my ArrayList to an Array and then created a loop to send out the SMS

                        android.telephony.SmsManager shortMessageManager;
                shortMessageManager = SmsManager.getDefault();

                // Get DB
                dbTools = new DBTools(MainActivity.this);

                // Get array
                ArrayList<String> phoneNumberArray = dbTools
                        .getAllphoneNumbers();



         String[] SMSNumbers = phoneNumberArray.toArray(new String[phoneNumberArray.size()]);   


                String message = "Hello from Android";


                    try {
                        // Do something
                        for(int i=0;i<SMSNumbers.length;i++){
                            Thread.sleep(3000);
                        shortMessageManager.sendTextMessage(SMSNumbers[i],
                                null, message, null, null);
                        Log.d("PhoneNo",SMSNumbers[i]);
                        }
                    } catch (Exception e) {
                        Log.d("PhoneNo", "fail");
                    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top