SMS 수신 관련 코드를 작성중 이해가 잘 가지않는 부분이 있어서요...

 

제가 초보개발자라 이해가 잘안되네요 ㅠ

 

코드내용은 책과 블로그를 참조해서 작성해 보았습니다.

 

빨간 색으로 표시된 부분이 이해가 잘 안되는데 설명좀 부탁드릴겠습니다.

 

그리고 코드상 문제점이나 수정할 점이 있으면 조언도 부탁요^^

 

public class smsReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
       
        Bundle bundle = intent.getExtras();       
        SmsMessage[] msgs = null;
      //pdus는 메세지의 규격
     Object[] pdus = (Object[]) bundle.get("pdus");
     msgs = new SmsMessage[pdus.length];
     if (bundle != null) {
         StringBuffer buffer = new StringBuffer();
                        for (int i=0; i<msgs.length; i++){
                        msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);               
                        buffer.append(msgs[i].getOriginatingAddress());                    
                        buffer.append(":");
                        buffer.append(msgs[i].getMessageBody().toString());
                        buffer.append("\n");
           }
                           
         //토스트 메시지
         Toast.makeText(context, buffer.toString(), Toast.LENGTH_SHORT).show();
         }
 }
}