river-lucky-driver/app/src/main/java/com/arpa/hndahesudintocctmsdriver/service/TrackService.java
2022-09-20 10:31:01 +08:00

111 lines
3.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.arpa.hndahesudintocctmsdriver.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.util.log.LogUtil;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import java.util.Timer;
import java.util.TimerTask;
/**
* @author hlh
* @version 1.0.0
* @date 2021/8/13 18:52
* @description:上传司机轨迹位置
*/
public class TrackService extends Service {
private Context con;
private TrackInputBean tib=new TrackInputBean();
private LocationGDUtil l;
private int timeSum=1000*60*3;
private String snn="";
private Gson gson=new Gson();
private HuoYuanRequset hyr;
private Handler hd=new Handler(msg -> {
switch (msg.what){
case RequsetCodeConstants.SUCCESS:
if(CacheGroup.cacheList.get("genzong")!=null){
BaseBean bb=gson.fromJson(CacheGroup.cacheList.get("genzong"),BaseBean.class);
if(bb.getCode()==200){
LogUtil.e("--轨迹上传--","成功");
}else{
LogUtil.e("--轨迹上传失败:--",bb.getMsg());
}
CacheGroup.cacheList.remove("genzong");
}
break;
case LocationGDUtil.RES:
genzong();
break;
}
return false;
});
@Nullable
@Override
public IBinder onBind(Intent intent) {return null; }
@Override
public void onCreate() {
super.onCreate();
con=this;
hyr=new HuoYuanRequset(con,hd);
LogUtil.e("开始循环上传等待100ms","-----");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
snn=SPUtil.getSP(con,"order","ShippingNoteNumber");
if(!snn.equals("")) {
l = new LocationGDUtil(con, hd);
l.onCreate();
}else{
onDestroy();
}
}
},100,timeSum);
}
//开始
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
LogUtil.e("服务开启","-----");
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
public void genzong(){
//经度
tib.setLatitude(l.getLatitude()+"");
//纬度
tib.setLongitude(l.getLongitude()+"");
LogUtil.e("经度",l.getLatitude()+"");
LogUtil.e("维度",l.getLongitude()+"");
//单号
tib.setShippingNoteNumber(snn);
hyr.trackTracking(tib);
}
}