안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요,
현재 프로그램은 다음과 같이 동작합니다.
1. 액티비티 A OnCreate에서 StartActivity(B)로 스플래시를 3초간 띄웁니다.
B내부에서 쓰레드로 3초후 this.finish()로 종료하도록 하였습니다.
2. 그 동안 초기화 작업을 하기위해 그 바로 다음줄에 쓰레드 C를 띄웁니다.
3. 쓰레드 C는 작업을 마치면 액티비티A로 메시지를 보냅니다.
4. 메시지를 받은 핸들러는 Alert Dialog를 띄웁니다.
여기서 문제가 생깁니다. 스플래시(B)가 꺼지고 다시 A로 돌아왔지면 화면 전체가 다이얼로그가 뜬 것같이 약간 어두워지지만 정작 다이얼로그는 보이지 않습니다. 백 버튼을 눌러보면 마치 다이얼로그가 닫힌듯이 어두워진 화면은 밝아지고 이벤트를 받을 수 있습니다.
문제를 해결하고자 하루 꼬박 만졌는데 결국 쓰레드 C 에서 액티비티A로 메시지를 보내기 전에 sleep(500)을
줘서 문제를 봉합했습니다. 하지만 쓰레드 C가 네트워크 통신하는 쓰레드라 통신상태가 안좋거나 하는 상태가 오면
언제든지 문제가 또 발생할수 있습니다. 혹시 도움을 얻을 수 있을까요?