lmw
2024-02-23 be87b65cb6ac9a2352f09117c1fa82862aba73ff
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")
    }
}