From bd6a8872438a35d47821c5d5da7fe149e5fed3ab Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 21 六月 2023 09:53:36 +0800 Subject: [PATCH] 处理收不到广播 --- app/src/main/java/com/okgoincar/base/MyApplication.kt | 86 +++++++++++++++++++++++++++++-------------- 1 files changed, 58 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/okgoincar/base/MyApplication.kt b/app/src/main/java/com/okgoincar/base/MyApplication.kt index 1524573..147ba26 100644 --- a/app/src/main/java/com/okgoincar/base/MyApplication.kt +++ b/app/src/main/java/com/okgoincar/base/MyApplication.kt @@ -3,25 +3,23 @@ import android.app.Activity import android.app.Application import android.content.Context -import android.location.Location -import android.os.Build import android.os.Bundle import android.os.Handler import android.os.Looper import android.util.Log -import androidx.annotation.RequiresApi import androidx.multidex.MultiDex import cn.sinata.rxnetty.NettyClient import cn.sinata.xldutils.BaseApplication +import cn.sinata.xldutils.utils.TimeUtils import cn.sinata.xldutils.utils.sysErr +import cn.sinata.xldutils.utils.toast import com.amap.api.location.AMapLocation import com.amap.api.track.AMapTrackClient import com.amap.api.track.ErrorCode -import com.amap.api.track.OnTrackLifecycleListener import com.amap.api.track.TrackParam -import com.amap.api.track.query.model.* -import com.okgoincar.netUtls.getUserId -import com.okgoincar.utils.Cache.CacheKey +import com.amap.api.track.query.model.AddTerminalRequest +import com.amap.api.track.query.model.QueryTerminalRequest +import com.amap.api.track.query.model.QueryTerminalResponse import com.google.gson.Gson import com.okgoincar.base.gpsnav.util.TTSController import com.okgoincar.bean.CarLocationBean @@ -29,11 +27,13 @@ import com.okgoincar.bean.OrderSimpleData import com.okgoincar.bean.websocket.HeartBean import com.okgoincar.netUtls.Api +import com.okgoincar.netUtls.callNet +import com.okgoincar.netUtls.getMapByAny +import com.okgoincar.netUtls.getUserId import com.okgoincar.slab.MySlabBaseActivity -import com.okgoincar.slab.SlabLoginActivity -import com.okgoincar.utils.Cache.CacheUtil -import org.greenrobot.eventbus.EventBus -import org.jetbrains.anko.startActivity +import com.okgoincar.utils.Cache.CacheKey +import com.okgoincar.utils.LogUtils +import com.tencent.bugly.crashreport.CrashReport import org.jetbrains.anko.toast import org.json.JSONObject import java.security.SecureRandom @@ -73,13 +73,16 @@ registerActivityLifecycleCallbacks(this) // PlatformConfig.setWeixin("wx65d2c03f04352f90", "7a3a57f9ba78c1f400b75298eec4c7c0") // PlatformConfig.setQQZone("101877032", "eab94b262bf9789eec770cde42a6e71e") //qq互联 -// LogUtils.OpenLog(true) + LogUtils.OpenLog(true) + CrashReport.initCrashReport(applicationContext, "666d35fada", false) initUpPoint() initSocket() - } private fun initSocket() { + Handler(Looper.getMainLooper()).post { +// toast("websocket初始化") + } NettyClient.getInstance().init(this, Api.SOCKET_SERVER, Api.SOCKET_PORT, true) NettyClient.getInstance() .addOnMessageListener { message: String? -> @@ -89,9 +92,12 @@ currentTime = System.currentTimeMillis() val json = JSONObject(message) val method = json.optString("method") -// Handler(Looper.getMainLooper()).post { + if (method!= "OK"&&method!= "PONG") + upLog("收到服务端推送,method:${method}") + + Handler(Looper.getMainLooper()).post { // toast("收到websocket=$method") -// } + } val data = json.optString("data") val code = json.optInt("code", -1) if (code == 200) { @@ -100,10 +106,15 @@ testReceiveNum++ } Const.SOCKET_METHOD.OFFLINE -> { - CacheUtil.get().clear() - NettyClient.getInstance().stopService() - EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP)) - toast("您的账号已在其他平台登录") +// CacheUtil.get().clear() +// NettyClient.getInstance().stopService() +// var intent = Intent() +// intent.setClass(this, SlabLoginActivity::class.java) +// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) +// startActivity(intent) +// Handler(Looper.getMainLooper()).post { +// toast("您的账号已在其他平台登录") +// } } Const.SOCKET_METHOD.ORDER_STATUS -> { val orderSimpleData = @@ -158,6 +169,7 @@ .setOnConnectListener { sendHeart() } + sendHeart() } override fun attachBaseContext(base: Context?) { @@ -259,13 +271,13 @@ NettyClient.getInstance() .sendMessage(Gson().toJson(bean)) Handler(Looper.getMainLooper()).post { - toast("发送location --> $dataBean") +// toast("发送location --> $dataBean") } sysErr(dataBean.toString()) } } - private fun sendHeart() { + open fun sendHeart() { if (getUserId() != -1) { Log.i(TAG, "sendHeart: userId === " + getUserId()) val bean = HeartBean() @@ -281,7 +293,13 @@ if ((System.currentTimeMillis() - currentTime) / 1000 > 30) { sysErr("sendHeart_websocket 重新连接") currentTime = System.currentTimeMillis() - NettyClient.getInstance().checkNettyState() +// var s = CacheUtil.get().getAsString("reConnect") +// s = "$s###初始化重连" +// CacheUtil.get().put("reConnect", s) +// NettyClient.getInstance().checkNettyState() + NettyClient.getInstance().checkNettyStateNull() //reconnect + +// initSocket() heartHandler!!.postDelayed({ sendHeart() }, 5000) } else { sysErr("sendHeart_websocket 发送心跳") @@ -306,8 +324,8 @@ return appContext } - fun getTTsManager():TTSController{ - if (mTtsManager == null){ + fun getTTsManager(): TTSController { + if (mTtsManager == null) { mTtsManager = TTSController.getInstance(getInstance()) mTtsManager?.init() } @@ -321,8 +339,8 @@ return Gson().fromJson(locationStr, AMapLocation::class.java) } else { val amap = AMapLocation("") - amap.latitude = -1.0 - amap.longitude = -1.0 + amap.latitude = 0.0 + amap.longitude = 0.0 return amap } } else { @@ -374,6 +392,16 @@ fun removeOrderView(view: OrderStatueView?) { orderStatueViews.remove(view) } + + + fun upLog(msg:String){ +// val map = getMapByAny() +// map["content"] = "${TimeUtils.getCurrentTime()}:=====》$msg" +// if (appContext!=null) +// callNet(appContext!!,Api.saveVehicleTerminalLog,map,{}){ +// toast("丢失一条日志") +// } + } } private val activities = ArrayList<Activity?>() @@ -399,14 +427,16 @@ override fun onActivityStopped(activity: Activity?) { showNum-- Handler(Looper.getMainLooper()).postDelayed({ - if (showNum == 0){ + if (showNum == 0) { getTTsManager().setVideoText("OK出行司机已置于后台,可能会导致听单异常,里程计费差异,请勿切换。") } - },600) + }, 600) } override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) { activities.add(activity) } + + } \ No newline at end of file -- Gitblit v1.7.1