Android的服务检测不能开启设置为true存入Sp中,关闭设为false,因为这样当内存不足,被系统杀死后,检测到的依然是服务被开启,所以不能这样做,只能:
如下代码去做:
/**
* 检测服务是否开启
* @param context
* @param serviceName
* @return
*/
public static boolean isRunning(Context context,String serviceName){
ActivityManager mAM= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> runningServices =
mAM.getRunningServices(100);
for (ActivityManager.RunningServiceInfo runningService : runningServices) {
String className = runningService.service.getClassName();
if (serviceName.equals(className)){
return true;
}
}
return false;
}