From: snicker Date: Mon, 23 Mar 2020 03:23:44 +0000 (+0800) Subject: GPS改为60秒以内含60秒都不关闭GPS X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=faf65e0001f89d26d8ed1161b37fe325bae7d900;p=protocol_srv.git GPS改为60秒以内含60秒都不关闭GPS --- diff --git a/app/src/main/java/com/enqualcomm/support/LocationClient.java b/app/src/main/java/com/enqualcomm/support/LocationClient.java index 8bac53f0..c2a0c77e 100644 --- a/app/src/main/java/com/enqualcomm/support/LocationClient.java +++ b/app/src/main/java/com/enqualcomm/support/LocationClient.java @@ -309,7 +309,7 @@ public class LocationClient { public void waitAndSendLocation(){ - + long timeCost=0L; wifi_ok=false; gps_ok=false; lbs_ok=false; @@ -335,9 +335,17 @@ public class LocationClient { //GPS 优先的话多给些时间(10秒) - if (checktimes> 50 || - ((startCheckTime!=0L)&&(System.currentTimeMillis()-startCheckTime > 50*1000L)) //有时timer计数不准,则根据实际时间计算 - ) timeout=true; + if (checktimes> 50 ) + { + ICLogger.i("waitAndSendLocation "+checktimes+" timeout"); + timeout=true; + } + timeCost=System.currentTimeMillis()-startCheckTime; + if ((startCheckTime!=0L)&& (timeCost> 50*1000L)){ + //有时timer计数不准,则根据实际时间计算 + ICLogger.i("waitAndSendLocation "+timeCost+"> 50000ms timeout"); + timeout=true; + } // lbs only +timeout, lbs+wifi+gpsNosignal, libs+ , lbs+gps+wifi, Timeout can override wifi and gps if ((lbs_ok && timeout==true) @@ -368,11 +376,11 @@ public class LocationClient { runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); - String msg="Location Fixed Type "+runtime.getLocationInstance().getLocationType()+" at "+runtime.getLocationInstance().getLocationTime(); + String msg="Location Fixed Type "+runtime.getLocationInstance().getLocationType()+" at "+runtime.getLocationInstance().getLocationTime()+" timeout "+timeout; ICLogger.i(msg); if (Config.LOG_TOFILE) - FileOutputUtil.fileOutput(this.runtime.getCacheDir(),"GPS",msg); + ICLogger.logToFile("GPS",msg); }else if (timeout==true){ @@ -380,7 +388,7 @@ public class LocationClient { ICLogger.i("timeout no location "); stopCheckLocationResult(); if (Config.LOG_TOFILE) - FileOutputUtil.fileOutput(this.runtime.getCacheDir(),"GPS","timeout no location "); + ICLogger.logToFile("GPS","timeout no location "); } break; @@ -388,9 +396,18 @@ public class LocationClient { case ICLocation.LOWPOWER_MOD: default: //wifi优先的话给20秒时间 - if (checktimes> 20 || - ((startCheckTime!=0L)&&(System.currentTimeMillis()-startCheckTime > 20*1000L)) //有时timer计数不准,则根据实际时间计算 - ) timeout=true; + + if (checktimes> 20 ) + { + ICLogger.i("waitAndSendLocation "+checktimes+" timeout"); + timeout=true; + } + timeCost=System.currentTimeMillis()-startCheckTime; + if ((startCheckTime!=0L)&& (timeCost> 20*1000L)){ + //有时timer计数不准,则根据实际时间计算 + ICLogger.i("waitAndSendLocation "+timeCost+"> 20000ms timeout"); + timeout=true; + } if ((lbs_ok && timeout==true) ||(lbs_ok && wifi_ok )){ @@ -414,18 +431,18 @@ public class LocationClient { runtime.getLocationInstance().setLocationType(locationtype); runtime.getLocationInstance().setLocationTime(TimeUtil.getSystemTime3()); - String msg="Location Fixed Type "+runtime.getLocationInstance().getLocationType()+" at "+runtime.getLocationInstance().getLocationTime(); + String msg="Location Fixed Type "+runtime.getLocationInstance().getLocationType()+" at "+runtime.getLocationInstance().getLocationTime()+" timeout "+timeout; ICLogger.i(msg); if (Config.LOG_TOFILE) - FileOutputUtil.fileOutput(this.runtime.getCacheDir(),"GPS",msg); + ICLogger.logToFile("GPS",msg); }else if (timeout==true){ ICLogger.i("timeout no location "); stopCheckLocationResult(); if (Config.LOG_TOFILE) - FileOutputUtil.fileOutput(this.runtime.getCacheDir(),"GPS","timeout no location "); + ICLogger.logToFile("GPS","timeout no location "); } break; } @@ -523,7 +540,7 @@ public void updateCellInfo() { startWifiScan(); switch(mod){ case ICLocation.CUSTOM_MOD: - if(runtime.getLocationInstance().getLocation_cycle()<60){ + if(runtime.getLocationInstance().getLocation_cycle()<=60){ nmeaListener.setNoStop(true); }else{ nmeaListener.setNoStop(false); @@ -532,7 +549,8 @@ public void updateCellInfo() { break; case ICLocation.EMERGNECY_MOD: case ICLocation.REALTIME_MOD: - nmeaListener.setNoStop(false);//保证从Custom切换回来的时候不至于不关闭gps + nmeaListener.setNoStop(true); +// nmeaListener.setNoStop(false);//保证从Custom切换回来的时候不至于不关闭gps startGpsLocate(); break; case ICLocation.LOWPOWER_MOD: