我有一个后台Service不断和服务器同步信息
但是如何判断这个Service是否处在运行中,挂了就要重启起来。
出自:http://www.cnblogs.com/stay/articles/…
public static boolean isServiceRunning(Context mContext,String className) {
boolean isRunning = false;
ActivityManager activityManager = (ActivityManager)
mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList
= activityManager.getRunningServices(30);
if (!(serviceList.size()>0)) {
return false;
}
for (int i=0; i<serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRunning = true;
break;
}
}
return isRunning;
}
@ALAN 的比较适合判断其它service,如果是自己判断自己是否已经运行,则可以考虑用类似排他方式,比如设置变量等,判断自己是否已经被运行了。
正文完