안드로이드 개발 질문/답변
(글 수 45,052)
private void serviceList(){
/* 실행중인 service 목록 보기 */
ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> rs = am.getRunningServices(50);
for(int i=0; i<rs.size(); i++){
ActivityManager.RunningServiceInfo rsi = rs.get(i);
Log.d("run service","Package Name : " + rsi.service.getPackageName());
}
위소스는 실행중인 service 목록 보기 소스입니다.
간단하게 앱을만들어 실행시키면 일단 그 때의 서비스 목록은 로그가 잘찍힙니다.
그런데이것을 백그라운드로 실행시켜 지속적으로 앱이 실행 될때마다 자동 갱신 되게 하고 싶은데
(어떠한 서비스 실행과 동시에 자동으로 로그가 찍히는것으로 이해하면 더 편할 수도...)
그런데..감이 안잡힙니다.
독이올라 배우고 있는중입니다.
간단하게 api 혹은 접근 방법만이라도 알려주시면 스스로 공부하겠습니다.
현재 Service가 동작하면, 지금처럼 Service를 모두 가져와서 관리 하셔야 하지 않을까요??
그리고 일정 시간마다 모든 실행되고 있는 Service 목록을 가져와서 재시작된 시간을 비교해서 달라졌거나, 기존 목록에 없다면,
로그가 찍히도록 하면 될 것 같습니다.
다만.. 주기적으로 동작하기 때문에 베터리 소모가 조금 걱정되긴하네요...
Service가 실행될 때 콜백되는 리스너가 있는지는 모르겠군요...