안녕하세요.. 케삽질 하다가 질문 좀 드립니다.

app를 실행하면 Activity1이 실행됩니다.
그리고 SmsBroadcastReceiver가 sms를 받으면 Activity1로 SMS내용을 보내줘야합니다..
그런데 이때 activity1은 foreground에 있을 수도 있고, moveTaskToBack해서 UI에 없을 수도 있습니다..
근데 sms리시버에서 Activity1에 대해 intent에 sms정보 넣어서 startactivity하면
Activity1의 onResume이 호출되긴 하는데... Intent.getExtras()하면 ... null이네요... 아웅.. ㅎㅎ 왜그럴가요 ㅠ

소스 첨부하겠습니다.

질문을 요약드리자면..
start된 activity(fore에 있든 back에 있든)에게 sms리시버가 메세지를 전달하는 방법은???
혹시 Intent말고 다른 더 장려되는 solution이 있다면 조언 부탁드립니다 ^^

SMS 리시버

 public void onReceive(Context ctx, Intent intent) {

  Bundle bundle = intent.getExtras();
  Object messages[] = (Object[]) bundle.get("pdus");
  SmsMessage smsMessage[] = new SmsMessage[1];
  smsMessage[0] = SmsMessage.createFromPdu((byte[]) messages[0]);

  checkSMSRule(ctx, smsMessage[0]);

 }

 private boolean checkSMSRule(Context ctx, SmsMessage sms) {

  String messageBody = sms.getMessageBody();
  String messageAddress = sms.getOriginatingAddress();

   Intent i = new Intent(ctx, SmsList.class);
   i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   i.putExtra(SMSKey.SMS_CONTENT.name(), messageBody);
   i.putExtra(SMSKey.SMS_SENDER.name(), messageAddress);
   ctx.startActivity(i);
  return true;
 }
}


Activity1
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  initiateMembers();
  setEventHandlers();
 }
 protected void onResume() {
  super.onResume();
  Intent i = getIntent();
  if (i != null) {
   Bundle b = i.getExtras();   <---- 무조건 null임......
   if(b!=null){
    verifyIntent(b);
   }
  }
 }