Android 中如何判断自己写的服务还活着

 
if (!isServiceWork("cn.soft_x.supplies.config.DownLoadService")){}//调用传全类名
 
  
public boolean isServiceWork(String serviceName) {
    boolean iswork = false;
    ActivityManager manager = (ActivityManager) BaseApplication.getAppContext().getSystemService(Context.ACTIVITY_SERVICE);
    //关于正在运行的服务数量拿不到,以前设置40时在Honor8(华为手机)7.0系统,就没有拿到自己的服务,尴尬了,目前没找到好的处///理方式,就把服务设置成100,这个手机跑这的服务74个,有人说100个手机会卡的不行,不知道,但这个手机很流畅
    List<ActivityManager.RunningServiceInfo> runningServices = manager.getRunningServices(100);
    if (runningServices.size() <= 0)
        return false;
    for (int i = 0; i < runningServices.size(); i++) {
        if (serviceName.equals(runningServices.get(i).service.getClassName().toString())) {
            iswork = true;
            break;
        }
    }
    return iswork;
}

猜你喜欢

转载自blog.csdn.net/lolyiku/article/details/79725518