From 5c8fa1d82391b20ff137a956c9a8090e0a881693 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Mon, 21 Nov 2022 15:57:35 +0800 Subject: [PATCH] =?UTF-8?q?version:2.0=20fix:=E4=BF=AE=E5=A4=8D=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=88=9D=E5=A7=8B=E5=8C=96=E6=8E=A8=E9=80=81=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=B0=E5=9B=BE=E5=AE=9A=E4=BD=8D=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E8=BD=BD=E7=BC=93=E5=AD=98=E4=B9=B1?= =?UTF-8?q?=E7=A0=81=20update:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../com/fuying/sn/manager/AmapManager.java | 4 +- .../sn/network/NetInterfaceManager.java | 6 +- .../fuying/sn/service/main/MainService.java | 91 +++++++++++++++++-- 4 files changed, 90 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 580f94e..de8cf2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -73,8 +73,8 @@ android { official { flavorDimensions "default" - versionCode 10 - versionName "1.9" + versionCode 11 + versionName "2.0" } } diff --git a/app/src/main/java/com/fuying/sn/manager/AmapManager.java b/app/src/main/java/com/fuying/sn/manager/AmapManager.java index fd93422..6813638 100644 --- a/app/src/main/java/com/fuying/sn/manager/AmapManager.java +++ b/app/src/main/java/com/fuying/sn/manager/AmapManager.java @@ -42,7 +42,9 @@ public class AmapManager { } public void initAmap() { - mLocationClient = new LocationClient(mContext); + if (mLocationClient == null) { + mLocationClient = new LocationClient(mContext); + } mLocationClient.setLocOption(getDefaultLocationClientOption()); mLocationClient.registerLocationListener(mListener); mLocationClient.stop(); diff --git a/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java b/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java index 5378ecc..4d3e4c1 100644 --- a/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java @@ -1080,7 +1080,9 @@ public class NetInterfaceManager { if (ConnectManager.getInstance().isNeedConnect(JGYUtils.FUXIAOYING_KEY, connectMode)) { checkFXYAppUpdate(lifecycle, callback); } else { - String jsonString = mCacheHelper.getAsString(JGYUtils.FUXIAOYING_KEY); + //有乱码 + String jsonString = mMMKV.decodeString(JGYUtils.FUXIAOYING_KEY + "_mmkv"); + Log.e(TAG, "checkFXYAppUpdate: jsonString = " + jsonString); //为 "" 是已经请求成功的 if (jsonString == null) { checkFXYAppUpdate(lifecycle, callback); @@ -1928,7 +1930,7 @@ public class NetInterfaceManager { softwareJson.addProperty("jpush_id", ""); softwareJson.addProperty("notice_version", ApkUtils.getAPPVersionName(mContext, "com.uiui.info")); softwareJson.addProperty("browser_version", ApkUtils.getAPPVersionName(mContext, "com.uiui.browser")); - softwareJson.addProperty("desktop_version", ApkUtils.getAPPVersionName(mContext, "com.uiui.os")); + softwareJson.addProperty("desktop_version", ApkUtils.getAPPVersionName(mContext, "com.fuying.fuxiaoying")); String addr = jsonObject.toString(); String machine = Utils.getMachine(mContext); diff --git a/app/src/main/java/com/fuying/sn/service/main/MainService.java b/app/src/main/java/com/fuying/sn/service/main/MainService.java index 138519f..2a36a0c 100644 --- a/app/src/main/java/com/fuying/sn/service/main/MainService.java +++ b/app/src/main/java/com/fuying/sn/service/main/MainService.java @@ -21,11 +21,15 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; +import com.baidu.location.BDAbstractLocationListener; +import com.baidu.location.BDLocation; +import com.baidu.location.LocationClient; import com.blankj.utilcode.util.NetworkUtils; import com.fuying.sn.BuildConfig; import com.fuying.sn.bean.BaseResponse; import com.fuying.sn.bean.SnInfo; import com.fuying.sn.config.CommonConfig; +import com.fuying.sn.manager.AmapManager; import com.fuying.sn.manager.ConnectManager; import com.fuying.sn.manager.ControlManager; import com.fuying.sn.network.NetInterfaceManager; @@ -110,7 +114,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo ToastUtil.show("网络已连接"); String WiFiAlias = Utils.getWifiAlias(this); Log.e(TAG, "onConnected: WiFiAlias = " + WiFiAlias); - Utils.getPublicIP(this); if (ConnectManager.getInstance().isWiFiFistConnect()) { start.onstar(ConnectManager.WIFI_LAST_CONNECT_TIME); } else { @@ -119,11 +122,17 @@ public class MainService extends Service implements MainSContact.MainView, Netwo } } //第一次开机联网后直接连接 - if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_BOOT, 0) == 0) { - mPresenter.getSnInfo(); - mPresenter.getAllApp(); - SPUtils.put(this, CommonConfig.JGY_FIRST_BOOT, 1); - } + // TODO: 2022/11/21 有些设备联网了但是立刻请求还是失败 + Handler.getMain().postDelayed(new Runnable() { + @Override + public void run() { + if ((int) SPUtils.get(MainService.this, CommonConfig.JGY_FIRST_BOOT, 0) == 0) { + mPresenter.getSnInfo(); + mPresenter.getAllApp(); + SPUtils.put(MainService.this, CommonConfig.JGY_FIRST_BOOT, 1); + } + } + }, 15000); sendDeviceInfo(); } @@ -150,8 +159,14 @@ public class MainService extends Service implements MainSContact.MainView, Netwo mPresenter.setLifecycle(lifecycleSubject); mPresenter.attachView(this); - NTPTimeTask task = new NTPTimeTask(); - task.execute("ntp.aliyun.com"); + Handler.getMain().postDelayed(new Runnable() { + @Override + public void run() { + NTPTimeTask task = new NTPTimeTask(); + task.execute("ntp.aliyun.com"); + mPresenter.getAllApp(); + } + }, 20000); Log.e(TAG, "onCreate: IMEI = " + Utils.getIMEI(MainService.this)); String aole_app_forbid = Settings.System.getString(getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID); @@ -159,7 +174,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo if (TextUtils.isEmpty(aole_app_forbid)) { ApkUtils.writeAppPackageList(MainService.this, ""); } - mPresenter.getAllApp(); ApkUtils.UninstallAPP(this, "com.joytv.live"); ApkUtils.UninstallAPP(this, "com.tencent.android.qqdownloader"); @@ -174,6 +188,10 @@ public class MainService extends Service implements MainSContact.MainView, Netwo .throttleFirst(6, TimeUnit.HOURS) .subscribe(timeObserver); + Observable.create(configsubscribe) + .throttleLast(15, TimeUnit.SECONDS) + .subscribe(configObserver); + if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_CONNECT, 0) == 0) { start.onstar(ConnectManager.REBOOT_LAST_ONNECT_TIME); } @@ -217,19 +235,72 @@ public class MainService extends Service implements MainSContact.MainView, Netwo Handler.getMain().postDelayed(new Runnable() { @Override public void run() { + initConfig(); NetInterfaceManager.getInstance().SendAppInstallInfo(); NetInterfaceManager.getInstance().updateAdminInfo(); } - },10000); + }, 15000); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.e(TAG, "onStartCommand: " + System.currentTimeMillis()); + configStart.onstar("onStartCommand"); return START_STICKY; } + private void initConfig() { + tPushInit(); + Utils.getPublicIP(MainService.this); + LocationClient locationClient = AmapManager.getInstance().getLocationClient(); + locationClient.stop(); + locationClient.start(); + locationClient.registerLocationListener(new BDAbstractLocationListener() { + @Override + public void onReceiveLocation(BDLocation bdLocation) { + Log.e("initConfig", "onReceiveLocation: "); + NetInterfaceManager.getInstance().updateAdminInfo(); + } + }); + } + + private interface ConfigStart { + void onstar(String key); + } + + private ConfigStart configStart; + + private ObservableOnSubscribe configsubscribe = new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter emitter) throws Exception { + configStart = emitter::onNext; + } + }; + + private Observer configObserver = new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(String string) { + Log.e(TAG, "onNext: " + System.currentTimeMillis() + "\t" + string); + initConfig(); + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }; + @Override public void onDestroy() { super.onDestroy();