sendMultipartTextMessage очень медленный с несколькими частями SMS - PullRequest
0 голосов
/ 15 мая 2019

У меня довольно простое приложение, которое отправляет SMS на список телефонных номеров. Приложение разбивает сообщение на части, а затем отправляет, используя sendMultipartTextMessage(). Он отправляет на следующий номер телефона только после отправки предыдущего сообщения (очень похоже на этот метод ).

Я обнаружил, что если количество символов SMS такое, что оно не является составным сообщением, то оно отправляется очень быстро. Однако если я отправлю сообщение, состоящее из нескольких частей, это займет значительно больше времени.

Например, если я отправляю одну часть SMS на 200 номеров, это занимает около 5 минут.
Если я отправлю 2-компонентное SMS на те же 200 номеров, это займет более 30 минут.

Это как-то связано с Android и как он обрабатывает многочастные сообщения? Почему было бы в несколько раз длиннее, а не примерно вдвое больше (в приведенном выше случае)? Я проверил это достаточно раз, чтобы понять, что это не связано с условиями сети или совпадением и т. Д.

И можно ли что-нибудь сделать, чтобы улучшить это?

Отрывок короткого кода:

    ArrayList<String> parts = smsManager.divideMessage(msg);
    final int numParts = parts.size()
    sentIntent.putExtra(EXTRA_NUMBER, number);
    sentIntent.putExtra(EXTRA_MESSAGE, msg);
    smsManager.sendMultipartTextMessage(number, null, parts, sentIntents, delIntents);

Редактировать: если невозможно объяснить, что происходит, кто-нибудь может предложить, как я могу проанализировать, какая часть программного обеспечения вызывает задержку при отправке сообщения из нескольких частей?

...