private static int checktimes=0;\r
private static boolean timeout=false;\r
private static boolean isLocating=false;\r
-\r
+ private static boolean isWifiScanning=false;\r
+ LBSHelper.OnWiFiInfoListener wifiinfoListener=new LBSHelper.OnWiFiInfoListener() {\r
+ public void getWifiInfoCallBack(String param1String) {\r
+ ICLogger.i("get wifi scan Callback " + param1String);\r
+ LocationClient.mHasWifiResult=true;\r
+ runtime.setWifiinfo(param1String==null?"":param1String);\r
+ isWifiScanning=false;\r
+ }\r
+ };\r
public void startWifiScan(){\r
+\r
+ if (isWifiScanning==false) {\r
ICLogger.i("开启wifi扫描");\r
+ isWifiScanning=true;\r
runtime.setWifiinfo("");\r
mHasWifiResult = false;\r
-// this.mLbsHelper.registerWiFiBroadReceiver();\r
- this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() {\r
- public void getWifiInfoCallBack(String param1String) {\r
- ICLogger.i("get wifi scan Callback " + param1String);\r
- LocationClient.mHasWifiResult=true;\r
- runtime.setWifiinfo(param1String==null?"":param1String);\r
- }\r
- });\r
- this.mLbsHelper.getWifiInfo();\r
+ this.mLbsHelper.setOnWiFiInfoListener(wifiinfoListener);\r
+ this.mLbsHelper.getWifiInfo();\r
+ }else{\r
+ ICLogger.i("wifi扫描进行中,skip开启");\r
+ }\r
}\r
public void startGpsLocate() {\r
\r
if (msg.what == MsgWhat_GetWifiResult) {\r
//停止扫描\r
StringBuilder sb = handScanResults();\r
+ if (sb != null){\r
+ ICLogger.i("GetWifiScanResults "+sb.toString());\r
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults "+sb.toString());\r
+ }else{\r
+ ICLogger.i("GetWifiScanResults null");\r
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults null");\r
+ }\r
if (sb == null) {\r
CurrentWiFiScanTimes++;\r
if (CurrentWiFiScanTimes< MaxWiFiScanRetryTimes) {\r
if (mMyWifiListener != null) {\r
mMyWifiListener.getWifiInfoCallBack(wifiInfoResult);\r
\r
- if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context))\r
- {\r
- //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。\r
- if (!IS_HASOPEN && IS_OPEN) {\r
+ //由于wifi状态不好确认客户是如何设置的,干脆只有屏幕灭的时候才考虑关闭wifi ,防止在开启屏幕用来视频的时候被后台关掉\r
+ if(SimSignalUtil.isScreenON(runtime.getContextProxy().context)==false) {\r
+ if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context)) {\r
+ //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。\r
+ if (!IS_HASOPEN && IS_OPEN) {\r
+ wifiManager.setWifiEnabled(false);\r
+ IS_OPEN = false;\r
+ }\r
+ } else if (!runtime.isNoTurnOffWifiOnScreenOff()) {\r
+ //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电\r
wifiManager.setWifiEnabled(false);\r
IS_OPEN = false;\r
+ IS_HASOPEN = false;\r
}\r
- }else if ( !runtime.isNoTurnOffWifiOnScreenOff()){\r
- //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电\r
- wifiManager.setWifiEnabled(false);\r
- IS_OPEN = false;\r
- IS_HASOPEN=false;\r
}\r
+ }else{\r
+ ICLogger.i("mMyWifiListener is null skip callback");\r
}\r
}\r
}\r
}\r
}\r
if (sb.toString().startsWith("&")) sb.deleteCharAt(0);\r
- return sb;\r
+ return sb;\r
}\r
}\r
\r
}\r
\r
private void delayedStopScan() {\r
+ mHandler.removeMessages(MsgWhat_GetWifiResult);\r
mHandler.sendEmptyMessageDelayed(MsgWhat_GetWifiResult,3000L);\r
}\r
\r
this.runtime.setCellinfo(gsmSb.toString());\r
this.runtime.setCdmaInfo(null);\r
ICLogger.i("GsmCellLocation "+ gsmSb.toString());\r
- if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(this.runtime.getCacheDir(), "LBS", gsmSb.toString());\r
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", gsmSb.toString());\r
\r
List neighboringCell_list = telephonyManager.getNeighboringCellInfo();\r
if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) {\r
this.runtime.setCellinfo(null);\r
this.runtime.setCdmaInfo(cdmaSB.toString());\r
\r
- if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(this.runtime.getCacheDir(), "LBS", var8.toString());\r
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", var8.toString());\r
return cdmaSB.toString();\r
\r
}\r
stringBuilder.append(CellInfoUtil.BSSS);\r
runtime.cellinfo = stringBuilder.toString();\r
// EqcAlgorithmNative.native_EqcAlgorithmMethod4(1, 0, CellInfoUtil.BSSS, CellInfoUtil.MCC, CellInfoUtil.MNC, CellInfoUtil.LAC, CellInfoUtil.CELL_ID);\r
- if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(mRuntime.getCacheDir(), "LBS", mRuntime.cellinfo);\r
+ if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", mRuntime.cellinfo);\r
+\r
CellInfoUtil.releaseWakeLock(mWakeLock);\r
ICLogger.i(" setCurrentAttachCellInfo " + mCellInfo);\r
\r