private boolean needLocationForBT() {
updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。
//如果没有动,且超时。则跳过定位
- mNoMoveTimeout = checkNoMoveTimeoutForBT();
+ if (skipMoveCheck || Config.GpsForceMoveCheck) {
+ mNoMoveTimeout = false;
+ } else {
+ mNoMoveTimeout = checkNoMoveTimeoutForBT();
+ }
ICLogger.i("BT NoMoveTimeout " + mNoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.GpsForceMoveCheck=" + Config.GpsForceMoveCheck + ", skipMoveCheck=" + skipMoveCheck);
// 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过
- if ((forceLocation != 1) &&
- (Config.GpsForceMoveCheck == true) &&
- (mNoMoveTimeout) && (skipMoveCheck == false)) {
+ if ((forceLocation != 1) && mNoMoveTimeout) {
ICLogger.i("No Move ,skip BT location!");
-
return false;
}
//以目前逻辑,每次检测必然跟随蓝牙扫描,因此可以在此直接更新上一次的计步次数,配合下次的运动检测
private boolean needLocation() {
updateStepCount();//update StepCount,保证每次定位前,计步数据是最新的。防止丢数据。
//如果没有动,且超时。则跳过定位
- mNoMoveTimeout = checkNoMoveTimeout();
+ if (skipMoveCheck || Config.GpsForceMoveCheck) {
+ mNoMoveTimeout = false;
+ } else {
+ mNoMoveTimeout = checkNoMoveTimeout();
+ }
ICLogger.i(" NoMoveTimeout " + mNoMoveTimeout + ", forceLocation=" + forceLocation + ", Config.GpsForceMoveCheck=" + Config.GpsForceMoveCheck + ", skipMoveCheck=" + skipMoveCheck);
// 不强制定位 且 (WorkingMod 不是紧急模式 或者 强制进行移动检测),且 没有移动过
- if ((forceLocation != 1) &&
- (Config.GpsForceMoveCheck == true) &&
- (mNoMoveTimeout) && (skipMoveCheck == false)) {
+ if ((forceLocation != 1) && mNoMoveTimeout) {
ICLogger.i("No Move ,skip BT location2!");
-
return false;
}
//只做正常定位前是否运动的判断,给定位前蓝牙扫描专用的。和 NeedlocationFotBT 还不同。