gpt4 book ai didi

Android Location API 未正确跟踪用户

转载 作者:行者123 更新时间:2023-11-30 02:21:38 25 4
gpt4 key购买 nike

我有一个后台服务,可以跟踪用户驾驶汽车的 Action ,并将数据发送到我的服务器。我有两个用于发送位置的变量,要么已经过去 60 秒,要么用户已经移动了 100 米。

在我的服务中,这是我开始收听位置的方式:

mLocationRequest = LocationRequest.create();
mLocationRequest.setSmallestDisplacement(100);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(60 * 1000);

mLocationClient = new LocationClient(context, connectionCallbacks, onConnectionFailedListener);
mLocationClient.connect();

和听众:

ConnectionCallbacks connectionCallbacks = new ConnectionCallbacks() {

@Override
public void onConnected(Bundle arg0) {

mLocationClient.requestLocationUpdates(mLocationRequest, locationListenerAPI);

//process the last location, if available
Location loc = mLocationClient.getLastLocation();
if (loc != null) {
prepareLocation(loc);
}
}

@Override
public void onDisconnected() {
}
};

LocationListener locationListenerAPI= new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//A location has been read, process it
prepareLocation(location);
}

};

因此,当服务正在运行并且我开车到处走动时,onLocationChanged 只触发几次,它没有考虑触发位置读取的时间或米数。我有数据连接,并且在整个服务运行期间通知栏上都可以看到 GPS 图标。

有什么想法为什么不起作用吗?

最佳答案

最后,我只是这样做了:

我有 setInterval(5000)setFastestInterval(5000) 然后,对于每个读取位置,如果它们之间的距离大于 100m,我发送位置到我的服务器。我放弃了使用 smallestDisplacement。这似乎工作可靠。

关于Android Location API 未正确跟踪用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com