마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

쓰레드, 서비스, 브로드케스트, 관리 문의

0 추천
일단

예를 든다면

브로드케스트에 특정신호를 받으면 서비스가 실행된다고 가정한다면

또다른 종료신호를 보내지 않는한 10개든 100개든 중복으로 서비스가 실행되잖아요

이걸 이미 작동중이면 서비스나 쓰레드에서 이미 구동중이면 재구동이 안되게 할수 있나요? 중복으로 실행되다보니

메모리 용량이 점점 올라가서 어플이 비효율적이 이라서요
리카엘 (660 포인트) 님이 2013년 7월 11일 질문

1개의 답변

0 추천
private boolean isServiceRunning(Class cls) {
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (cls.getName().equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}

이렇게 하시면 됩니다

GozaMaker (4,740 포인트) 님이 2013년 7월 11일 답변
감사합니다 덕분에 잘 해결 되었습니다 ㅇㅂㅇ
...