当前位置: 移动技术网 > IT编程>移动开发>Android > Android判断服务是否运行及定位问题实例分析

Android判断服务是否运行及定位问题实例分析

2019年07月24日  | 移动技术网IT编程  | 我要评论

翁源东华山,残梦下载,扶风公众信息网

本文实例讲述了android判断服务是否运行及定位问题。分享给大家供大家参考。具体如下:

/**
* 判断服务是否正在运行
* 
* @param context
* @param classname 判断的服务名字:包名+类名
* @return true在运行 false 不在运行
*/
public static boolean isservicerunning(context context, string classname) {
  boolean isrunning = false;
  activitymanager activitymanager = (activitymanager) context
    .getsystemservice(context.activity_service);
  //获取所有的服务
  list<activitymanager.runningserviceinfo> services= activitymanager.getrunningservices(integer.max_value);
  if(services!=null&&services.size()>0){
   for(activitymanager.runningserviceinfo service : services){
    if(classname.equals(service.service.getclassname())){
     isrunning=true;
     break;
    }
   }
  }
  return isrunning;
}

在android开发中,经常会使用locationmanager.getlastknownlocation()定时获取经纬度,在不同真机测试中有的可以获取有的不可以获取,为了解决不同手机的兼容下,请用如下代码

public static location getlocation(locationmanager locationmanager, locationlistener locationlistener) {
  location location=null;
  location = locationmanager.getlastknownlocation(locationmanager.gps_provider);
  locationmanager.requestlocationupdates(locationmanager.gps_provider, 0, 0, locationlistener);
  if(location==null){
   location = locationmanager.getlastknownlocation(locationmanager.network_provider);
   locationmanager.requestlocationupdates(locationmanager.network_provider, 0, 0, locationlistener);
  }
  return location;
}

希望本文所述对大家的android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网