My receiver, it works fine when short sms arrive, but at large, it intercepts with chunks.
@Override public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "onReceive()"); Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; SmsMessage[] phonenum = null;// if (bundle != null) { // ---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i = 0; i < msgs.length; i++) { msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); body += msgs[i].getMessageBody().toString(); } // ---retrieve the SMS senders number --- phonenum = new SmsMessage[pdus.length]; for (int i = 0; i < phonenum.length; i++) { phonenum[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); PhoneNUMBER += phonenum[i].getOriginatingAddress(); } It turns out that if a large message comes in, consisting of 2 or 3 sms, then it does not take it completely, but places it in the body variable, only the first part, and the rest does not process at all. It turns out the user sees the first SMS, does not see the whole picture, and the rest of the SMS come in the usual way, through a notification. So I wanted to know how to intercept such messages?