Holy ...!
После прочтения источника 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()
Упс ... Я был слишком ленив, чтобы Посмотрите мой код. Я уже получил все части сообщения за раз.
Откуда вы знаете, что приложение обмена сообщениями по умолчанию получает сразу все сообщение? Я предполагаю, что он получает их отдельно, а затем объединяет их внутри. – slayton
@slayton Спасибо. Поэтому я думаю, что могу сравнить datetime и объединить все части в один. Вы считаете, что где-то есть флаг, который указывает, что это сообщение является частью большого сообщения? –
Я не знаю, но вы всегда можете посмотреть источники Android и посмотреть, как они это делают. – slayton