-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":635,"versionName":"2009271639","enabled":true,"outputFile":"ICSer_V635_2009271639_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V635_2009271639_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":637,"versionName":"2009272008","enabled":true,"outputFile":"ICSer_V637_2009272008_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V637_2009272008_release.apk","properties":{}}]
\ No newline at end of file
}else if (msg.what == msgWhat_StartLocationProcess) {\r
if (runtime.bleInfo.btMacList.size() > 0) {\r
//有蓝牙搜索要求则 先进行蓝牙扫描\r
- btHelper.scanBLE();\r
+ if (needLocationForBT())\r
+ btHelper.scanBLE();\r
} else {\r
//没有蓝牙搜索要求,就正常定位\r
startLocationProcess(runtime.getLocationInstance().getWorkingMod());\r
if (runtime.bleInfo.btMacList.size() > 0) {\r
//有蓝牙搜索要求则 先进行蓝牙扫描\r
scanBLEOnly=true;\r
- btHelper.scanBLE();\r
+\r
+ if (needLocationForBT())\r
+ btHelper.scanBLE();\r
}\r
}else if (msg.what == msgWhat_StartSOSLocationProcess){\r
startSOSLocation=true;//启动SOS定位,为了快速响应,只要wifi定位即可。\r
timeout=true;\r
\r
}\r
- if (noMove==true && (timeout==true || gps_nosignal==true)){\r
+ if (NoMoveTimeout==true && (timeout==true || gps_nosignal==true)){\r
//没有移动,GPS超时或者没信号都会给 计数 加 1\r
gpsTimeoutCountOnNoMove++;\r
}\r
\r
private static boolean NoMoveAndNoGPSsignalSkipGpsFlag=false;\r
private static boolean noMove=false;\r
+ private static boolean NoMoveTimeout=false;\r
private static boolean last_noMove=false;\r
private static final int MaxNoMoveTimeout=3*60*1000; //3分钟\r
private static long first_NoMove_timestamp=0;\r
\r
noMove=runtime.getLastStepCount() == runtime.getTotalStepCount();\r
runtime.updateFZDDevStatusMoving(!noMove); //设置当前运动状态\r
-\r
+ ICLogger.i(" checkNoMoveTimeout last_noMove "+last_noMove+" noMove "+noMove);\r
if (last_noMove==false&& noMove==true){\r
first_NoMove_timestamp=System.currentTimeMillis();\r
}else if (noMove==false){\r
first_NoMove_timestamp=0;\r
}\r
+ last_noMove=noMove;\r
//属于 判断是否 不动的状态超时\r
if (noMove==true&& first_NoMove_timestamp>0.01 && System.currentTimeMillis()-first_NoMove_timestamp > MaxNoMoveTimeout){\r
+ ICLogger.i(" checkNoMoveTimeout true ");\r
return true;\r
}else{\r
+ ICLogger.i("checkNoMoveTimeout false");\r
return false;\r
}\r
\r
}\r
\r
- public void startLocationProcess(int mod){\r
-\r
+ private boolean needLocationForBT(){\r
updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。\r
- ICLogger.i("forceLocation="+forceLocation+", WorkingMod="+mod+", isLocating="+isLocating+", lastStep="+runtime.getLastStepCount()+", currentStep="+ runtime.getTotalStepCount());\r
- if (isLocating && 1!=forceLocation) { //如果是强制定位,则即使是正在定位,也要执行,因为有时模式变换的时候,需要取消上一次定位信息,马上新的模式定位。\r
- ICLogger.i("locating ,skip location!");\r
- return;\r
- }\r
- //如果没有动,且超时。则跳过定位\r
- boolean NoMoveTimeout=checkNoMoveTimeout();\r
+ //如果没有动,且超时。则跳过定位\r
+ NoMoveTimeout=checkNoMoveTimeout();\r
// 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过\r
if ( ( forceLocation != 1 ) &&\r
- ((( mod == ICLocation.NORMAL_MOD ) || ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true) &&\r
+ (Config.forceMoveCheck==true) &&\r
(NoMoveTimeout) && (skipMoveCheck ==false )){\r
ICLogger.i("No Move ,skip location!");\r
- return ;\r
+ return false;\r
}\r
-\r
- if (noMove){\r
+ return true;\r
+ }\r
+ public void startLocationProcess(int mod){\r
+ updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。\r
+ ICLogger.i("forceLocation="+forceLocation+", WorkingMod="+mod+", isLocating="+isLocating+", lastStep="+runtime.getLastStepCount()+", currentStep="+ runtime.getTotalStepCount());\r
+ if (isLocating && 1!=forceLocation) { //如果是强制定位,则即使是正在定位,也要执行,因为有时模式变换的时候,需要取消上一次定位信息,马上新的模式定位。\r
+ ICLogger.i("locating ,skip location!");\r
+ return;\r
+ }\r
+ //如果没有动,且超时。则跳过定位\r
+ NoMoveTimeout=checkNoMoveTimeout();\r
+ // 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过\r
+ if ( ( forceLocation != 1 ) &&\r
+ ((( mod == ICLocation.NORMAL_MOD ) || ( mod == ICLocation.LOWPOWER_MOD ) || (mod == ICLocation.CUSTOM_MOD8_WIFI ) ) || Config.forceMoveCheck==true) &&\r
+ (NoMoveTimeout) && (skipMoveCheck ==false )){\r
+ ICLogger.i("No Move ,skip location!");\r
+ return ;\r
+ }\r
+\r
+ if (NoMoveTimeout){\r
// 记录gps 无信号或者timeout的次数,超过5 就会停止使用gps定位,只要有一次 移动,或者设置为wifi定位,则清零。\r
if (gpsTimeoutCountOnNoMove>= MaxGpsTimeoutCountOnNoMove){\r
NoMoveAndNoGPSsignalSkipGpsFlag=true;\r