안녕하세요.. 잘 안되는 부분이 있어서 조언을 좀 구하고잡합니다.. 부탁드려요 ^^;

1. APP가 실행되면 Activity1이 실행됩니다.

2. Activity1.moveTaskToBack()이 호출되어 APP는 백그라운드로 보냅니다...

3. BroadcastReceiver1에서 SMS를 받으면 Activity1에게 SMS에 대한 정보를 담아서 Foreground로 가져옵니다..
       Intent i = new Intent(ctx, Activity1.class);
       i.setAction(ActionType.NEW_SMS.name());
       i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       i.putExtra(SMSKey.SMS_CONTENT.name(), messageBody);
       startActivity(i);
       합니다....

4. 그러면... Activity1.onStart()가 실행된 뒤에 Activity1.onResume()가 연속으로 실행되더라구요

그런데!!
문제는 3번 4라인에서 putExtra한 값을 Activity1.onResume()에서 가져올 수가 없다는 겁니다!!!! ㅠㅠ 

 protected void onResume() {
     super.onResume();
     Intent i = getIntent();
     Log.d("",i.toString); // returns 01-25 13:02:22.073: DEBUG/SmsList(221): Intent { flg=0x10000000cmp=com.nozisim/.SmsList }
     i.getStringExtra(SMSKey.SMS_CONTENT.name())    // <------- null




문서를 보니
An activity will always be paused before receiving a new intent, so you can count on onResume() being called after this method.
Note that getIntent() still returns the original Intent. You can use setIntent(Intent) to update it to this new Intent.

이렇게 되어 있더군요??


그럼.. 저 구조를 보면.. start후 background된 Activity1을 fore로 불러오고 메세지를 전달하기 위해서
3번처럼 하는 것은 맞지 않는 것 같은데요??
android에서 어떻게 처리하는 방법이 있는지 궁금합니다 ㅠㅠ