본문 바로가기
카테고리 없음

안드로이드 실행중인 서비스인지 체크

by HlAos 2024. 1. 17.
반응형

안드로이드 서비스가 실행중인지 체크하는 함수

isServiceRunning(context, 클래스이름::class.java.name)

/**
* 서비스 실행중인지 체크
*/
fun isServiceRunning(context: Context, name:String) : Boolean {

    val activityManager = context.getSystemService(ACTIVITY_SERVICE) as ActivityManager
    val serviceList = activityManager.getRunningServices(Int.MAX_VALUE)

    for(serviceInfo in serviceList){
        if(serviceInfo.service.className == name){
           return true
        }
     }
     return false
}

 

getRunningServices 30 부터 deprecated
현재 실행 중인 서비스 목록을 반환합니다.
참고: 이 방법은 서비스 관리 유형 사용자 인터페이스를 디버깅하거나 구현하는 데만 사용됩니다.
더 이상 사용되지 않음
Build.VERSION_CODES.O부터 이 메서드는 더 이상 타사 응용 프로그램에서 사용할 수 없습니다. 이전 버전과의 호환성을 위해 여전히 호출자 고유의 서비스를 반환합니다.
매개변수:
maxNum – 목록에 반환할 최대 항목 수입니다. 반환되는 실제 숫자는 실행 중인 서비스 수에 따라 더 작을 수 있습니다.
보고:
각 실행 작업을 설명하는 RunningServiceInfo 레코드 목록을 반환합니다.

 

-> 호환성을 위해 아직 사용 가능하나 다른 처리 방법이 필요합니다.

반응형