1. 우선 A 라는 액티비티에 Context 객체를 static으로 선언하고 객체를 생성합니다.


static Context mContext;


mContext = this;




2. 이 mContext를 이용해서 다이얼로그 코드를 짭니다.


Dialog dialog = new AlertDialog.Builder(mContext, AlertDialog.THEME_HOLO_DARK); 


...... (중략)....


.show();



3. 이 다이얼로그 코드를 실행 시킬 수 있는 버튼을 배치합니다.


4. 그리고 intent로 A 액티비티를 추가로 띄울 수 있는 버튼도 하나 배치합니다.



자, 이제 테스트입니다. 


애플리케이션을 실행하고 A 액티비티로 가서 다이얼로그가 우선 잘 작동되는지 테스트 해 보시고,


이제 버튼을 눌러 A 액티비티를 추가로 띄웁니다.


그리고 백키를 눌러 돌아간 후 다이얼로그 버튼을 실행시켜 봅니다.


그러면 2.3버전과 4.1버전들에서 강종이되고 4.0 버전들에서는 반응이 없네요.


분명 잘 작동하던 다이얼로그가 똑같은 액티비티 하나 더 띄우고 돌아왔다고 저리 됩니다.


결론은, mContext에 static을 없애면 정상 작동 합니다.


제가 정말 왜 mContext를 static으로 한지는 기억이 안나지만


이거 때문에 개발중에 다른쪽에서 헛발질 좀 했네요......ㅠㅠ (그래서 '치명적인 버그'...... 낚시제목 ㄱㅅ)


근데, 이게 원래 정상적인건 아니죠? 누가 영어 잘 되시는 분은 안드로이드 팀에 리포트좀 해주세요ㅎㅎ