안녕하세요. 현재 서비스에서 PendingIntent를 이용해서 액티비티를 "다이얼로그 화"하여 커스텀 Dialog를 띄워 주고 있습니다.
이 다이얼로그 액티비티(라 칭하겠습니다..;) 에서 다이얼로그 밖의 백그라운드를 투명으로 해두었는데요.
여기에서 경우에 따라 뒤에 보여지는 화면이 문제가 되고있습니다....ㅠ
이 다이얼로그 액티비티가 띄워지는 시점은 아래 4가지 정도로 생각됩니다.
1. 앱이 떠있을 경우(onResume 상태)
>> 이경우에는 다이얼로그 뒤로 앱 액티비티가 보여지는게 정상이기 때문에 문제가 없습니다.
2. 앱이 떠있지 않을 경우(onStop 상태)
>> Touchwiz화면이나 다른 앱등이 보여지고 있을 때 다이얼로그 액티비티가 호출이 되면 이전에 제 앱에서 마지막으로 보여졌던 액티비티가 배경으로 깔리게 되는데요.
기존 화면(TouchWIz 등)을 유지 하면서 다이얼로그 액티비티만 띄워줄 수 있을까요?
3. 앱이 죽어있을 경우(Service는 살아있는 경우)
>> 이 경우는 다이얼로그 액티비티가 띄워지고 배경으로 기존화면이 잘보이므로 문제가 없습니다.
4. 앱, 서비스가 죽어있을 경우
>> 작업관리자, 혹은 LMK에 의해 서비스가 종료된 경우는 서비스를 살리게끔 컨트롤 할수 있는 방법이 있을까요??
(알람매니저를 이용한 방법이 있다고는 하나 이것 또한 작업관리자 램정리를 피해갈 수 없을 것 같습니다..ㅠ)
질문이 너무 기네요...ㅠㅠ
바쁘신데 죄송하지만 첨언이라도 부탁드립니다.^^
첫댓글
2번의 경우 원인은 알고 계시죠..? Task Stack 때문입니다.
서비스에서 액티비티를 실행했다면 FLAG_ACTIVITY_NEW_TASK Flag를
사용하셨을 것입니다.
FLAG_ACTIVITY_MULTIPLE_TASK를 Flag를 같이 호출해 보새요.
아래 제 Task편 강좌에서 상세한 정보를...
http://cafe.daum.net/superdroid/aAfL/87
4번의 경우 제가 아는 범위내에서는 없습니다.
작업관리자에서 강제로 종료하게 되면 사용자가 의도하여 종료한 것으로 보고
알람까지도 동작하지 않습니다. 하지만 LMK에 의해 서비스가 종료된 경우
자동으로 서비스가 살아 납니다.
수고하세요.
감사합니다..ㅠ 성근님때문에 잘해결되엇습니다.
안그래도 FLAG쪽 보고 있었는데 마땅한 플래그를 못찾아서 헤맸는데 덕분에 한방에 해결됫네요^^
다시 강의 정독 하러 가야겠습니다. 감사합니다.