@Override
   public void onReceive(Context context, Intent intent) {
       Bundle bundle = intent.getExtras();
       SmsMessage[] msgs = null;
       String str = "";

       if (bundle != null) {
            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]);
                str += "SMS from " + msgs[i].getOriginatingAddress();
                str += " :";
                str += msgs[i].getMessageBody().toString();
                str += "\n";
   }
   
   // 토스트 창을 띄움
   Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
  }
 }

위와 같이 SMS를 전송 받으면 토스트로 내용을 띄워주는 간단한 브로드캐스트 리시버를 만들었습니다.
(코드는 웹에서 찾아서 그대로 사용했습니다.)
에러가 있는 것은 아니고
위에서 for 문으로 msgs.length 만큼 돌리는데요.

메시지 내용이 길어지면 pdus.length가 1이 넘을거라 생각했는데
메시지가 따로 두번 들어와서 언제 pdus.length 가 1을 넘게 되는지 궁금합니다.