Gooday Note Scrap Source Android login
 
작성일 : 12-09-20 13:10
서비스 다시 살리기 - 죽어도 다시 살아나는 서비스
 글쓴이 : 기리
조회 : 6,919   추천 : 0   비추천 : 0  
죽어도 다시 살아나는 서비스 검색하다가 원하는 결과를 못얻어서..
ApiDemo의 알람서비스라는 서비스를 실행해보았는데 DDMS를 통해서 죽여도
어플리케이션 관리자에서 프로세스가 죽지않고 다시시작하는중으로 나오면서 서비스가
죽여도 무한으로 실행되길래 코드를 살펴봤습니다. 방법은 간단하네요..
매니페스트에 서비스에 process를 :remote 옵션을 줍니다.
<service android:name="TestService1" android:process=":remote"></service>
서비스를 실행시킬때 아래와 같은 방법으로 실행시킵니다.
mAlarmSender = PendingIntent.getService(ServiceTestActivity.this,
0, new Intent(ServiceTestActivity.this, TestService1.class), 0);

// We want the alarm to go off 30 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 30*1000, mAlarmSender);
알람메니저를 이용하면 서비스를 DDMS에서 죽이던 안드로이드폰의 애플리케이션 관리에서 죽이던
애플리케이션 관리에서 실행중 탭에서 상태를 보시면 "다시시작하는중" 이렇게 나오면서 프로세서가
무한 재시작됩니다. 자세한 코드는 ApiDemo를 참조하세요 ㅎ