lmw
2025-06-24 27a5170d3aa384c5a3771c2923ef31d0c2c8ad90
app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt
@@ -2,16 +2,22 @@
import android.content.ActivityNotFoundException
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.provider.Settings
import android.util.Log
import android.widget.Toast
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.utils.*
import com.amap.api.location.AMapLocation
import com.amap.api.location.AMapLocationListener
import com.amap.api.track.AMapTrackClient
import com.amap.api.track.query.entity.DriveMode
import com.amap.api.track.query.entity.Track
import com.amap.api.track.query.model.*
import com.google.gson.Gson
import com.lljjcoder.style.citylist.Toast.ToastUtils
import com.tencent.bugly.crashreport.CrashReport
import com.zhaoyang.driver.R
import com.zhaoyang.driver.base.BaseEvent
import com.zhaoyang.driver.base.MyApplication
@@ -32,8 +38,6 @@
import com.zhaoyang.driver.utils.DateUtil
import com.zhaoyang.driver.utils.MyUtils
import com.zhaoyang.driver.utils.download.DownloadUtil
import com.google.gson.Gson
import com.lljjcoder.style.citylist.Toast.ToastUtils
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.app_title.*
import org.greenrobot.eventbus.EventBus
@@ -55,7 +59,7 @@
    override fun initView() {
        setTitleText("昭阳出行司机")
        tv_up_avv.text = SpanBuilder.content("接单中\n点击收车").sizeSpan(0,3,16).build()
        tv_up_avv.text = SpanBuilder.content("接单中\n点击收车").sizeSpan(0, 3, 16).build()
        tv_Left.setDrawableLeft(R.mipmap.icon_nav_user)
        iv_right_title.setImageResource(R.mipmap.icon_nav_news)
        addFragment(mainFragment, R.id.rl_container)
@@ -70,8 +74,7 @@
        callcarAll()
        toastTo()
        callTime("1")
//        MyApplication.getInstance()!!.initUpPoint()
    }
    override fun onRestart() {
@@ -169,9 +172,14 @@
        }
        if (!MyUtils.canBackgroundStart(this)&&SPUtils.getString("canBackground").isEmpty()) {
            DialogUtil.getDelAndSureDialog(this, "前往开启", "暂不开启", "您暂未开启手机权限“后台弹出界面”,可能导致无法接单,是否前往开启?", {
            }) {
                SPUtils.save("canBackground","can")
            DialogUtil.getDelAndSureDialog(
                this,
                "前往开启",
                "暂不开启",
                "您暂未开启手机权限“后台弹出界面”,可能导致无法接单,是否前往开启?",
                {
                }) {
                SPUtils.save("canBackground", "can")
                MyUtils.toSettingPro(this)
            }
        }
@@ -182,7 +190,7 @@
//        map["id"] = CacheKey.getUserId()
        callNet(Api.queryNewData, map) {
            var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
            if (data.data.version != "" && data.data.version > Utils.getAppVersion(this)) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(this, "新版本更新", data.data.content, {}, {
                        DownloadUtil(this).downloadAPK(data.data.url, "昭阳出行司机端")
@@ -265,6 +273,76 @@
        }
    }
    //查询猎鹰轨迹  TEST
    private fun queryTrack() {
        val aMapTrackClient = AMapTrackClient(applicationContext)
        val queryTrackRequest = QueryTrackRequest(
            911918,
            941006601,
            6556,  // 轨迹id,传-1表示查询所有轨迹
            1722085800000, //debug开始时间
            System.currentTimeMillis(),
            0,  // 0不启用去噪 1:去噪
            0,  // 1绑路 0不绑路
            0,  // 0不进行精度过滤 1过滤
            DriveMode.DRIVING,
            1,  // 距离补偿 1补偿 0不补偿
            5000,  // 距离补偿,只有超过5km的点才启用距离补偿
            1,  // 结果应该包含轨迹点信息
            1,  // 返回第1页数据,由于未指定轨迹,分页将失效
            100 // 一页不超过100条
        )
        aMapTrackClient.queryTerminalTrack(queryTrackRequest, object : OnTrackListener {
            override fun onQueryTerminalCallback(p0: QueryTerminalResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onCreateTerminalCallback(p0: AddTerminalResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onDistanceCallback(p0: DistanceResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onLatestPointCallback(p0: LatestPointResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onHistoryTrackCallback(p0: HistoryTrackResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onQueryTrackCallback(p0: QueryTrackResponse) {
                if (p0?.isSuccess == true) {
                    val tracks: List<Track> = p0.getTracks()
                    // 查询成功,tracks包含所有轨迹及相关轨迹点信息
                    if (tracks.isNotEmpty())
                        Log.e("mmp", "查询成功:${tracks[0].points.size},里程:${tracks[0].distance}")
                } else {
                    // 查询失败
                    Log.e("mmp", "查询失败:${p0!!.errorMsg}")
                }
            }
            override fun onAddTrackCallback(p0: AddTrackResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
            override fun onParamErrorCallback(p0: ParamErrorResponse?) {
                Log.e("mmp", p0?.errorMsg)
            }
        })
    }
    override fun setOnclick() {
        tv_server_ing.setOnClickListener {
@@ -284,6 +362,7 @@
        tv_Left.clickDelay {
            startActivity<MineActivity>()
//            queryTrack()
        }
        iv_right_title.clickDelay {
@@ -389,6 +468,7 @@
        if (p0?.errorCode == 0) {
            MyApplication.aMapLocation = p0
            CacheKey.putKeyStr("location", Gson().toJson(p0))
        }
        }else
            MyApplication.aMapLocation = null
    }
}