Многокомпонентные СМС Android - принимаются отдельно - PullRequest
3 голосов
/ 31 августа 2011

Я разрабатываю приложение SMS-шлюза, которое получает SMS-сообщения от клиентского приложения, выполняет некоторые операции с ним и загружает данные на сервер.

Из клиентского приложения, когда длина сообщения увеличиваетсяза 160 символов я делаю sendMultipartTextMessage после разбиения сообщения методом divideMessage.Однако, когда сообщение получено в устройстве шлюза SMS, onReceive из BroadcastReceiver получает только один PDU на вызов, и разные части одной и той же смс принимаются как разные смс.

Есть ли какие-либо настройки, позволяющие получать составные смс?Я использую устройство Huawei u8150 Helios для шлюза.Я рутировал устройство и при необходимости могу изменить настройки системы.

Заранее спасибо.

1 Ответ

0 голосов
/ 17 сентября 2011

Для тех из вас, кто ищет, как я решил эту проблему, вот что я сделал:

Отправитель:

  • Вместо использования встроенного divideMessage я создал свой собственный divideMessage, который возвращает ArrayList<String>, в котором каждый элемент будет иметь префикс и длина которого <= 150 (найденное опытным путем число). </li>
  • отправьте полученные выше ArrayList<String> сообщения, используя встроенный sendMultipartTextMessage.

Получатель:

  • Получить префикс сообщения и сохранить его в локальной базе данных.
  • Из префикса посмотрите, все ли его части прибыли. Если да, объедините все части и обработайте их.

Примечание: что содержится в префиксе и как объединяются все части, не входит в сферу данного обсуждения.

...