BroadcastReceiver.onReceive вызывается ровно один раз за смс? - PullRequest
4 голосов
/ 10 июня 2011

У меня есть объявление BroadcastReceiver для android.provider.Telephony.SMS_RECEIVED.Я собираюсь перехватить некоторые SMS, поэтому я буду прерывать Broadcast (), но не для всех SMS.

Но когда я извлекаю SMS из намерения, мне кажется, я могу получить БОЛЬШЕ, чем одно SMS?

Object[] messages = (Object[]) intent.getSerializableExtra("pdus");

- это объект [], значит, это может быть несколько SMS??или я могу с уверенностью предположить, что это всегда будет одно SMS.

Моя проблема в том, что, если я получаю несколько SMS и мне нужно перехватить только одно, я не могу просто работать правильно, потому что, если я отключуBroadcast (),потерять несколько законных SMS, и если я не получу, он получит несколько SMS, он не должен.

Я на Android 2.2

1 Ответ

1 голос
/ 15 июня 2011

Я сам не пробовал, но по ссылкам ниже правило "раз в смс" неверно. В частности, onReceive вызывается с messages.length> 1 в случае составных сообщений.

Я думаю, что эти ссылки будут полезны:

...