A Activity, B Activity 가 있습니다.


A는 manifest에 android:launchMode="singleTask" 로 되어있는 상태구요


public class A extends Activity{

    public void onCreate(){

        Log.w("TEST", "AAAAAAAAAA");

        Log.w("TEST", "onCreate msg = " + getIntent().getStringExtra("msg"));

        startActivity(new Intent(this, B.class);

    }


    public void onRestart(){

        Log.w("TEST", "AAAAAAAAAA");

        Log.w("TEST", "onRestart msg = " + getIntent().getStringExtra("msg"));

    }

}


public class B extends Activity{

    public void onCreate(){

        Log.w("TEST", "BBBBBBBBBB");

        Intent i = new Intent(this, A.class);

        i.putExtra("msg", "from BBBBBBB");    

        startActivity(i);

    }

}


소스는 이게 끝입니다.


A액티비티가 main액티비티어서 A->B->A 순으로 이동을 하게 됩니다.

결과는 

AAAAAAA

onCreate msg = null

BBBBBB

AAAAAAA

onRestart msg = null


이렇게 나오네요.

A액티비티가 살아있기때문에 새로 호출할때 restart가 호출되고 intent도 생성할때 당시의 intent를 getIntent()로 읽어 들여서 extra값이

null이라고 찍히는걸로 보이는데

B액티비티에서 넣은 extra값을 A 액티비티에서 restart때 얻으려면 어떻게 해야하나요.....

하루죙일 하는데 몰겠네요 ㅠㅠ 고수님들 plz. 도와주십쇼......ㅠ,ㅠ