BroadcastReceiver.onReceive вызывается ровно один раз за смс?
У меня есть объявление BroadcastReceiver для android.provider.Telephony.SMS_RECEIVED. Я собираюсь перехватить некоторые SMS, поэтому я буду прерывать Broadcast(), но не для всех SMS.
Но когда я извлекаю SMS из намерения, думаю, я могу получить БОЛЬШЕ, чем одно SMS?
Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
сообщения является объектом [], это означает, что это может быть несколько SMS? или я могу с уверенностью предположить, что это всегда будет одно SMS.
Моя проблема в том, что если я получаю несколько SMS и мне нужно перехватить только одно, я не могу просто работать правильно, потому что, если я abortBroadcast(), пользователь потеряет несколько законных SMS, и если я не получу, он получит несколько SMS, он не должен,
Я на Android 2.2
1 ответ
Я сам не пробовал, но по ссылкам ниже правило "один раз за смс" не является правильным. В частности, onReceive вызывается с messages.length > 1 в случае составных сообщений.
Я думаю, что эти ссылки будут полезны: