안녕하세요. 게임어플을 만들고있는 개발자입니다..
그런데 제가 이번에 과제 전시회하는데 어플을 시연할려고해요.
그런데 지키미가 많이 없어서 프로그램이 꺼지면 다시 켜지는프로그램을 만들려고하거든요.
아마도 내부에서는 힘들거같고요...
새로 어플이나 위젯같은걸 만들어서
실시간으로 pid체크해서 꺼져있으면 다시 intent하면 될거같은데.
카톡처럼, 안드로이드 켜지면 같이 켜지고 계속 작동하며, 꺼지면 다시 재시작되는 프로그램을 만들려면 어떻게해야하나요?
카톡이나 그런거보면 꺼져도 자동으로 켜지잖아요.
낭만폭풍// 제가 알기로는 꺼지면 다시 켜지는게 맞습니다.
꺼지지 않는 앱은 없습니다. 어떤 서비스도 내려갈수 있고 되도록이면 유지 시켜주는것이죠.
제 생각으로는 종료는 그대로 하되,
Broadcast Receiver를 등록하여
(수시로 나오는 녀석들... 예를들면 배터리 변화라던가... 검색해보시면 몇개 쓸만한거 있습니다.)
그녀석이 pendingIntent 혹은 그냥 intent로 앱을 실행하면 될듯합니다. 테스트 꼭많이 해보세요.
꺼지지 않는 프로그램이라...^^;;
이건 아닌거 같구요... 프로그램 강제 종료를 시키면 카독도 꺼지죠...
다만 일정 시간이 지난 후 보시면 다시 카톡서비스가 가동되어 있음을 확인 하실수 있으실께여요..
일단....알람을 등록해서 카톡의 실행 여부나 서비스의 가동 여부를 판단해서 죽어 있다면 다시 살리는 프로세싱을 하시면 될듯합니다...
즉 알랑 등록과 알람동작을 받을 리시버, 그리고 프로그램 의 서비스 를 생각하시면 될꺼예요..
위에 님 처럼 부팅 이벤트를 받아서 처리 하듯이 하시면 됩니다.... 부팅되면 리스버에서 받아서 서비스 호출을 하거나 하면 되지요.^^




확실하진 않지만 아는 선에서 말씀드리자면
카톡의 경우는 "꺼지면 다시 켜지는" 게 아니라
"꺼지지 않는" 프로그램입니다.
그리고 부팅시 실행되도록 하려면
앱 내에 브로드캐스트 리시버를 만들어서 매니페스트에 선언하고
리시버에서 부팅 이벤트를 감지하도록 해야 하는데,
이 경우 일부 단말기(특히 갤럭시)에서는 외장메모리에 설치된 앱은 이 기능이 동작하지 않습니다.
(라고 외국 문서에 써져 있는걸 보았고 실제로 같은 문제에 부딪힌 적도 있습니다.)
하지만 내부메모리에 설치하자니 용량이 또 문제가 되고.... 참 애매합니다
개인적인 생각으로는 서비스, 알람매니저, 타이머 등을 사용해서 무한루프를 돌리시던지,
onDestroy() 에서 강제로 다시 인텐트를 날리는 방법 등이 있겠습니다.