欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android判断后台服务是否开启的两种方法实例详解

程序员文章站 2022-05-28 10:21:44
android判断后台服务是否开启的两种方法实例详解 最近项目用到后台上传,就开启了一个服务service。 但是刚开始用这种方法,有些机型不支持:酷派不支持。然后...

android判断后台服务是否开启的两种方法实例详解

最近项目用到后台上传,就开启了一个服务service。

但是刚开始用这种方法,有些机型不支持:酷派不支持。然后又换了第二种判断方法。

//  public boolean isservicework(context mcontext, string servicename) {
//    boolean iswork = false;
//    activitymanager myam = (activitymanager) mcontext
//        .getsystemservice(context.activity_service);
//    list<activitymanager.runningserviceinfo> mylist = myam.getrunningservices(40);
//    if (mylist.size() <= 0) {
//      return false;
//    }
//    for (int i = 0; i < mylist.size(); i++) {
//      string mname = mylist.get(i).service.getclassname().tostring();
//      if (mname.equals(servicename)) {
//        iswork = true;
//        break;
//      }
//    }
//    return iswork;
//  }

第二种是:传入service的包名

private boolean isservicerunning(string servicepackagename) {
  activitymanager manager = (activitymanager) getsystemservice(activity_service);
  for (activitymanager.runningserviceinfo service : manager.getrunningservices(integer.max_value)) {
    if (servicepackagename.equals(service.service.getclassname())) {
      return true;
    }
  }
  return false;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!