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; }
新闻热点
疑难解答