Android判断Service是否在运行
Android中可以通过ActivityManager.getRunningServices
判断应用内的Service有没有在运行,示例代码如下:
/**
*
* @param mContext
* @param serviceName
* 是包名+服务的类名(例如:com.example.testbackstage.TestService)
* @return true代表正在运行,false代表服务没有正在运行
*/
fun isServiceWork(mContext: Context, serviceName: String): Boolean {
var isWork = false
val myAM = mContext
.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
val myList: List<ActivityManager.RunningServiceInfo> = myAM.getRunningServices(40)
if (myList.size <= 0) {
return false
}
for (i in myList.indices) {
val mName: String = myList[i].service.getClassName().toString()
if (mName == serviceName) {
isWork = true
break
}
}
return isWork
}