android API提供了监听service是否在运行的方法,可以轻松依据service运行状态做判断从而去处理你想做的事。废话不说,方法如下:
pubic boolean isServiceRun(Context context){
ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
List<RunningServiceInfo> list = am.getRunningServices(30);
for(RunningServiceInfo info : list){
if(info.service.getClassName.equals("service的全称(一般为包名+service类的名称)")){
return true;
}
}
return false;
pubic boolean isServiceRun(Context context){
ActivityManager am = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
List<RunningServiceInfo> list = am.getRunningServices(30);
for(RunningServiceInfo info : list){
if(info.service.getClassName.equals("service的全称(一般为包名+service类的名称)")){
return true;
}
}
return false;
}
在service中
public static boolean isServiceRun(Context context) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<android.app.ActivityManager.RunningServiceInfo> list = am.getRunningServices(30);
for (android.app.ActivityManager.RunningServiceInfo info : list) {
if (info.service.getClassName().equals(
"com.NoUIRebootDemo.main.TimerService")) {
return true;
}
}
return false;
}