From be87b65cb6ac9a2352f09117c1fa82862aba73ff Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期五, 23 二月 2024 10:15:23 +0800
Subject: [PATCH] 猎鹰

---
 app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt |  110 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 98 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt b/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt
index 9de3c79..9ccfafa 100644
--- a/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt
+++ b/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt
@@ -14,10 +14,9 @@
 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.AddTerminalRequest
-import com.amap.api.track.query.model.QueryTerminalRequest
-import com.amap.api.track.query.model.QueryTerminalResponse
+import com.amap.api.track.query.model.*
 import com.zhaoyang.driver.base.gaode.gpsnav.util.TTSController
 import com.zhaoyang.driver.base.local.OnTripTrackLifecycleListener
 import com.zhaoyang.driver.base.local.OnTripTrackListener
@@ -51,7 +50,8 @@
 /**
  * Created by Administrator on 2018/1/17.
  */
-class MyApplication : BaseApplication(), Application.ActivityLifecycleCallbacks {
+class MyApplication : BaseApplication(), Application.ActivityLifecycleCallbacks, OnTrackListener,
+    OnTrackLifecycleListener {
     //设置debug模式
     var isDebug = false
     var heartHandler: Handler? = null
@@ -80,7 +80,7 @@
         PlatformConfig.setQQZone("102047428", "qcBXgbJo6B2f5HF0") //qq互联
 //        CrashReport.initCrashReport(getApplicationContext(), "444bb776ed", false);
         LogUtils.OpenLog(true)
-        initUpPoint()
+//        initUpPoint()
         initSocket()
         JPushInterface.setDebugMode(true)
         JPushInterface.init(this)
@@ -296,24 +296,24 @@
                                         super.onQueryTerminalCallback(queryTerminalResponse)
                                         if (p0.isSuccess) {
                                             // 创建完成,开启猎鹰服务
-                                            sysErr("创建完成,开启猎鹰服务" + p0.errorMsg)
-                                            var terminalId = queryTerminalResponse!!.tid;
+                                            sysErr("创建完成,开启猎鹰服务" + p0.errorMsg+",tid:${p0.tid}")
+                                            terminalId = queryTerminalResponse!!.tid
                                             aMapTrackClient.startTrack(
                                                 TrackParam(
                                                     serviceId,
                                                     terminalId
                                                 ), onTrackLifecycleListener
-                                            );
+                                            )
                                         } else {
                                             // 请求失败
                                             sysErr("请求失败" + p0.getErrorMsg())
                                         }
                                     }
-                                });
+                                })
                         } else {
                             // terminal已经存在,直接开启猎鹰服务
-                            var terminalId = p0.tid
-                            sysErr("创建完成,开启猎鹰服务" + p0.errorMsg)
+                            terminalId = p0.tid
+                            sysErr("terminal已经存在,直接开启猎鹰服务" + p0.errorMsg+",tid:${p0.tid}")
                             aMapTrackClient.startTrack(
                                 TrackParam(serviceId, terminalId),
                                 onTrackLifecycleListener
@@ -326,7 +326,26 @@
             })
     }
 
+//    fun stopTrack(){
+//        var serviceIdS = CacheKey.getServerId()
+//        if (serviceIdS == "")
+//            return
+//        var serviceId = serviceIdS.toLong()
+//        var terminalName = CacheKey.getTerminalName()   // 唯一标识某个用户或某台设备的名称
+//        aMapTrackClient.stopTrack(TrackParam(serviceId, terminalId),
+//            onTrackLifecycleListener)
+//    }
+
+
+    fun createTrack(){
+        val serviceIdS = CacheKey.getServerId()
+        if (serviceIdS == "")
+            return
+        aMapTrackClient.addTrack(AddTrackRequest(serviceIdS.toLong(), terminalId), this)//创建行程轨迹id
+    }
+
     lateinit var aMapTrackClient: AMapTrackClient
+    private var terminalId = 0L
     var onTrackLifecycleListener = object : OnTripTrackLifecycleListener() {
         override fun onStartGatherCallback(p0: Int, p1: String?) {
             if (p0 == ErrorCode.TrackListen.START_GATHER_SUCEE ||
@@ -481,7 +500,6 @@
     private var showNum = 0
 
     override fun onActivityPaused(activity: Activity?) {
-
     }
 
     override fun onActivityResumed(activity: Activity?) {
@@ -512,5 +530,73 @@
         activities.add(activity)
     }
 
+    override fun onQueryTerminalCallback(p0: QueryTerminalResponse?) {
+    }
+
+    override fun onCreateTerminalCallback(p0: AddTerminalResponse?) {
+    }
+
+    override fun onDistanceCallback(p0: DistanceResponse?) {
+    }
+
+    override fun onLatestPointCallback(p0: LatestPointResponse?) {
+    }
+
+    override fun onHistoryTrackCallback(p0: HistoryTrackResponse?) {
+    }
+
+    override fun onQueryTrackCallback(p0: QueryTrackResponse?) {
+    }
+
+    override fun onAddTrackCallback(p0: AddTrackResponse?) {
+        if (p0?.isSuccess == true) {
+            val trackId = p0.trid
+            sysErr("轨迹创建成功,轨迹Id:$trackId")
+            var serviceIdS = CacheKey.getServerId()
+            val trackParam = TrackParam(serviceIdS.toLong(), terminalId)
+            trackParam.trackId = trackId
+            aMapTrackClient.startTrack(trackParam, this) //开始采集位置
+        } else {
+            sysErr("轨迹创建失败")
+        }
+    }
+
+    override fun onParamErrorCallback(p0: ParamErrorResponse?) {
+    }
+
+    override fun onBindServiceCallback(p0: Int, p1: String?) {
+        sysErr("onBindServiceCallback")
+    }
+
+    override fun onStartGatherCallback(p0: Int, p1: String?) {
+        if (p0 == ErrorCode.TrackListen.START_GATHER_SUCEE ||
+            p0 == ErrorCode.TrackListen.START_GATHER_ALREADY_STARTED
+        ) {
+            sysErr( "定位采集开启成功!")
+        } else {
+            sysErr( "定位采集启动异常!")
+        }
+    }
+
+    override fun onStartTrackCallback(p0: Int, p1: String?) {
+        if (p0 == ErrorCode.TrackListen.START_TRACK_SUCEE ||
+            p0 == ErrorCode.TrackListen.START_TRACK_SUCEE_NO_NETWORK ||
+            p0 == ErrorCode.TrackListen.START_TRACK_ALREADY_STARTED
+        ) {
+            // 服务启动成功,继续开启收集上报
+            aMapTrackClient.startGather(this)
+        } else {
+            sysErr( "轨迹上报服务服务启动异常!")
+        }
+    }
+
+    override fun onStopGatherCallback(p0: Int, p1: String?) {
+        sysErr("onStopGatherCallback:关闭定位采集")
+    }
+
+    override fun onStopTrackCallback(p0: Int, p1: String?) {
+        sysErr("onStopTrackCallback")
+    }
+
 
 }
\ No newline at end of file

--
Gitblit v1.7.1