package com.example.myapplicationdome.util;
import android.app.Notification;
import com.baidu.trace.LBSTraceClient;
import com.baidu.trace.Trace;
import com.baidu.trace.api.entity.LocRequest;
import com.baidu.trace.api.entity.OnEntityListener;
import com.baidu.trace.api.track.DistanceRequest;
import com.baidu.trace.api.track.DistanceResponse;
import com.baidu.trace.api.track.LatestPoint;
import com.baidu.trace.api.track.LatestPointRequest;
import com.baidu.trace.api.track.LatestPointResponse;
import com.baidu.trace.api.track.OnTrackListener;
import com.baidu.trace.api.track.SupplementMode;
import com.baidu.trace.model.OnTraceListener;
import com.baidu.trace.model.ProcessOption;
import com.baidu.trace.model.PushMessage;
import com.baidu.trace.model.StatusCodes;
import com.baidu.trace.model.TraceLocation;
import com.baidu.trace.model.TransportMode;
import com.blankj.utilcode.util.AppUtils;
import com.blankj.utilcode.util.DeviceUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.NetworkUtils;
import com.blankj.utilcode.util.ThreadUtils;
import com.example.myapplicationdome.MyApp;
import java.util.concurrent.atomic.AtomicInteger;
public class BaiduLocationTraceUtil {
/**
* 轨迹服务监听器
*/
private static OnTraceListener traceListener = null;
/**
* 轨迹监听器(用于接收纠偏后实时位置回调)
*/
private static OnTrackListener trackListener = null;
/**
* Entity监听器(用于接收实时定位回调)
*/
private static OnEntityListener entityListener = null;
private static LBSTraceClient mClient;
private static Trace mTrace;
private static long serviceId = 224267;//TODO 百度申请的轨迹服务ID
private static String entityName = "myTrace";// 设备标识 -- 使用工号加网点 需重新设置
/**
* 服务是否开启标识
*/
public static boolean isTraceStarted = false;
/**
* 采集是否开启标识
*/
public static boolean isGatherStarted = false;
private static void init() {
if (mClient != null) {
return;
}
mClient = new LBSTraceClient(MyApp.context);
mTrace = new Trace(serviceId, entityName);
// 定位周期(单位:秒)
int gatherInterval = 10;
// 打包回传周期(单位:秒)
int packInterval = 60 * 2;
// 设置定位和打包周期
mClient.setInterval(gatherInterval, packInterval);
trackListener = new OnTrackListener() {
@Override
public void onLatestPointCallback(LatestPointResponse response) {
LogUtils.i("获取最近定位点 %s", "状态:" + response.getStatus() + " 信息:" + response.getMessage());
if (StatusCodes.SUCCESS != response.getStatus()) {
return;