From 38286d1feb246570daff687497a3d9d130f4fc37 Mon Sep 17 00:00:00 2001 From: snickersun Date: Sat, 21 Mar 2020 17:23:15 +0800 Subject: [PATCH] =?utf8?q?1=E3=80=81=E4=BF=AE=E5=A4=8D=20WiFi=E5=AE=9A?= =?utf8?q?=E4=BD=8D=E6=97=B6=E6=9C=89=E6=97=B6BP16=E5=AE=9A=E4=BD=8D?= =?utf8?q?=E4=BC=9A=E4=B8=8D=E8=83=BD=E8=BF=94=E5=9B=9Ewifi=E5=AE=9A?= =?utf8?q?=E4=BD=8D=E7=9A=84=E6=83=85=E5=86=B5=E3=80=82=202=E3=80=81?= =?utf8?q?=E4=BF=AE=E5=A4=8D=E5=B1=8F=E5=B9=95=E4=BA=AE=E8=B5=B7=E6=97=B6?= =?utf8?q?=EF=BC=8CWiFi=E5=AE=9A=E4=BD=8D=E8=BF=98=E6=98=AF=E4=BC=9A?= =?utf8?q?=E5=85=B3=E9=97=ADWiFi=E7=9A=84bug=EF=BC=8C=E8=A7=A3=E5=86=B3?= =?utf8?q?=E4=BA=AE=E5=B1=8F=E6=97=B6=E4=B8=8D=E8=83=BD=E9=80=9A=E8=BF=87W?= =?utf8?q?iFi=E8=BF=9B=E8=A1=8CFota=E5=8D=87=E7=BA=A7=EF=BC=8C=E4=BB=A5?= =?utf8?q?=E5=8F=8A=E5=B0=86=E6=9D=A5=E7=9A=84=E8=A7=86=E9=A2=91=E9=80=9A?= =?utf8?q?=E8=AF=9D=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../enqualcomm/support/LocationClient.java | 27 ++++++++------ .../enqualcomm/support/adapter/LBSHelper.java | 36 ++++++++++++------- .../support/utils/CellInfoUtil.java | 3 +- 3 files changed, 43 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/enqualcomm/support/LocationClient.java b/app/src/main/java/com/enqualcomm/support/LocationClient.java index 6baeee47..8bac53f0 100644 --- a/app/src/main/java/com/enqualcomm/support/LocationClient.java +++ b/app/src/main/java/com/enqualcomm/support/LocationClient.java @@ -199,20 +199,27 @@ public class LocationClient { private static int checktimes=0; private static boolean timeout=false; private static boolean isLocating=false; - + private static boolean isWifiScanning=false; + LBSHelper.OnWiFiInfoListener wifiinfoListener=new LBSHelper.OnWiFiInfoListener() { + public void getWifiInfoCallBack(String param1String) { + ICLogger.i("get wifi scan Callback " + param1String); + LocationClient.mHasWifiResult=true; + runtime.setWifiinfo(param1String==null?"":param1String); + isWifiScanning=false; + } + }; public void startWifiScan(){ + + if (isWifiScanning==false) { ICLogger.i("开启wifi扫描"); + isWifiScanning=true; runtime.setWifiinfo(""); mHasWifiResult = false; -// this.mLbsHelper.registerWiFiBroadReceiver(); - this.mLbsHelper.setOnWiFiInfoListener(new LBSHelper.OnWiFiInfoListener() { - public void getWifiInfoCallBack(String param1String) { - ICLogger.i("get wifi scan Callback " + param1String); - LocationClient.mHasWifiResult=true; - runtime.setWifiinfo(param1String==null?"":param1String); - } - }); - this.mLbsHelper.getWifiInfo(); + this.mLbsHelper.setOnWiFiInfoListener(wifiinfoListener); + this.mLbsHelper.getWifiInfo(); + }else{ + ICLogger.i("wifi扫描进行中,skip开启"); + } } public void startGpsLocate() { diff --git a/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java b/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java index 624b4ee8..4b54faff 100644 --- a/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java +++ b/app/src/main/java/com/enqualcomm/support/adapter/LBSHelper.java @@ -79,6 +79,13 @@ public class LBSHelper { if (msg.what == MsgWhat_GetWifiResult) { //停止扫描 StringBuilder sb = handScanResults(); + if (sb != null){ + ICLogger.i("GetWifiScanResults "+sb.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults "+sb.toString()); + }else{ + ICLogger.i("GetWifiScanResults null"); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "GetWifiScanResults null"); + } if (sb == null) { CurrentWiFiScanTimes++; if (CurrentWiFiScanTimes< MaxWiFiScanRetryTimes) { @@ -95,19 +102,23 @@ public class LBSHelper { if (mMyWifiListener != null) { mMyWifiListener.getWifiInfoCallBack(wifiInfoResult); - if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context)) - { - //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。 - if (!IS_HASOPEN && IS_OPEN) { + //由于wifi状态不好确认客户是如何设置的,干脆只有屏幕灭的时候才考虑关闭wifi ,防止在开启屏幕用来视频的时候被后台关掉 + if(SimSignalUtil.isScreenON(runtime.getContextProxy().context)==false) { + if (runtime.isNoTurnOffWifiOnScreenOff() || DeviceInfoUtil.isFactoryTestTopActivity(runtime.getContextProxy().context)) { + //如果 NoTurnOffWifiOnScreenOff 开关 开启,且是屏灭,或者是在工厂测试模式,则原来什么状态就什么状态。 + if (!IS_HASOPEN && IS_OPEN) { + wifiManager.setWifiEnabled(false); + IS_OPEN = false; + } + } else if (!runtime.isNoTurnOffWifiOnScreenOff()) { + //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电 wifiManager.setWifiEnabled(false); IS_OPEN = false; + IS_HASOPEN = false; } - }else if ( !runtime.isNoTurnOffWifiOnScreenOff()){ - //如果 NoTurnOffWifiOnScreenOff 开关 关闭,且是屏灭,则关闭wifi省电 - wifiManager.setWifiEnabled(false); - IS_OPEN = false; - IS_HASOPEN=false; } + }else{ + ICLogger.i("mMyWifiListener is null skip callback"); } } } @@ -143,7 +154,7 @@ public class LBSHelper { } } if (sb.toString().startsWith("&")) sb.deleteCharAt(0); - return sb; + return sb; } } @@ -156,6 +167,7 @@ public class LBSHelper { } private void delayedStopScan() { + mHandler.removeMessages(MsgWhat_GetWifiResult); mHandler.sendEmptyMessageDelayed(MsgWhat_GetWifiResult,3000L); } @@ -209,7 +221,7 @@ public class LBSHelper { this.runtime.setCellinfo(gsmSb.toString()); this.runtime.setCdmaInfo(null); ICLogger.i("GsmCellLocation "+ gsmSb.toString()); - if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(this.runtime.getCacheDir(), "LBS", gsmSb.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", gsmSb.toString()); List neighboringCell_list = telephonyManager.getNeighboringCellInfo(); if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) { @@ -258,7 +270,7 @@ public class LBSHelper { this.runtime.setCellinfo(null); this.runtime.setCdmaInfo(cdmaSB.toString()); - if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(this.runtime.getCacheDir(), "LBS", var8.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", var8.toString()); return cdmaSB.toString(); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java b/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java index 021873db..47885d11 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java @@ -135,7 +135,8 @@ public class CellInfoUtil { stringBuilder.append(CellInfoUtil.BSSS); runtime.cellinfo = stringBuilder.toString(); // EqcAlgorithmNative.native_EqcAlgorithmMethod4(1, 0, CellInfoUtil.BSSS, CellInfoUtil.MCC, CellInfoUtil.MNC, CellInfoUtil.LAC, CellInfoUtil.CELL_ID); - if (Config.LOG_TOFILE) FileOutputUtil.fileOutput(mRuntime.getCacheDir(), "LBS", mRuntime.cellinfo); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", mRuntime.cellinfo); + CellInfoUtil.releaseWakeLock(mWakeLock); ICLogger.i(" setCurrentAttachCellInfo " + mCellInfo); -- 2.17.1