반응형
안드로이드 서비스가 실행중인지 체크하는 함수
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 레코드 목록을 반환합니다.
-> 호환성을 위해 아직 사용 가능하나 다른 처리 방법이 필요합니다.
반응형