Я хочу отправлять сообщения на пять разных номеров. Я получаю эти числа с другой страницы с помощью метода getIntent (). Может ли кто-нибудь дать правильный способ отправки сообщений. я использовал следующий код. но он вспоминает, что «SMS отправлено на первый номер», а затем все остальные сообщения не принимаются. !! Но дело в том, что я даже не получил ни одного сообщения !!

try{
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage( phonenumber1 ,null,message,null, null);
Toast.makeText(getApplicationContext(), "SMS Sent to First   Number.!",Toast.LENGTH_LONG).show();
}catch(Exception e)
{
Toast.makeText(getApplicationContext(), "SMS Sent failed to First Number.!",Toast.LENGTH_LONG).show();
e.printStackTrace();

} // like this up to phonenumber5 with the same try and catch block each five times
0
user2551413 9 Янв 2014 в 17:13

2 ответа

Лучший ответ

Попробуйте вот так. Во-первых, поместите все числа в массив строк и используйте цикл for вместо 5 try catch.

String receipentsNumber[] = {"111","222","333","444","555"};

for (int i = 0; i < receipentsNumber.length; i++) {

try {
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(receipentsNumber[i], null, message, null,
                    null);
        Toast.makeText(getApplicationContext(), "SMS Sent to" + " " + receipentsNumber[i], Toast.LENGTH_LONG).show();

    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), "SMS faild, please try again later!", Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }

}

Поскольку вы добились успеха с первым номером, я предполагаю, что вы добавили разрешение в манифесте.

<uses-permission android:name="android.permission.SEND_SMS"/>

Надеюсь это поможет.

1
MysticMagicϡ 9 Янв 2014 в 13:28

5 попыток улова - не лучший метод. Почему бы не поместить все числа в массив строк и использовать цикл for вместо 5 try catch

0
AnOldSoul 9 Янв 2014 в 13:32