Прослушивание входящего многочастного SMS-сообщения

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

Есть ли способ получить все сообщение за один раз - как приложение для обмена сообщениями по умолчанию?

1 ответ

Решение

Святой...!

Прочитав источник Android ( этот файл), я понял, что это такой глупый вопрос...

Вот мой приемник:

@Override
public void onReceive(Context context, Intent intent) {
    Log.d(ClassName, "received SMS");

    Bundle bundle = intent.getExtras();
    if (bundle != null) {
        Object[] pdus = (Object[]) bundle.get("pdus");
        // here is what I need, just combine them all  :-)
        final SmsMessage[] messages = new SmsMessage[pdus.length];
        Log.d(ClassName, String.format("message count = %s", messages.length));
        for (int i = 0; i < pdus.length; i++) {
            messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
        }
    }
}// onReceive()

Упс... Мне было лень смотреть свой код. Я уже получил все части сообщения одновременно.

Другие вопросы по тегам