我想通过管理员的帮助,让类似应用程序的跟踪器可以在特定时间跟踪特定的用户,因此我要求每秒跟踪用户long和lat,并传递到其他地方。
您可以编写一个递归方法,该方法进行网络调用以发送用户位置,并在成功回调时不断调用自己,诸如此类;
private void sendLocation(final String long, final String lat){
repository.getLocationApiService().sendLocation(long, lat)
.enqueue(new Callback<SendLocationResponse>() {
@Override
public void onResponse(Call<SendLocationResponse>
call,Response<SendLocationResponse> response) {
if(response.isSuccessful()){
sendLocation(long, lat);
}
else{
//Handle error
}
}
@Override
public void onFailure(Call<SendLocationResponse> call, **strong text**Throwable t) {
//Handle networking errors
}
});
}
这样一来,下一个位置就立即发送到上一个位置,我希望这有帮助,也在利用改造的方法。
例如,就电池性能而言,每秒询问GPS位置可能相当昂贵。此外,是否需要如此频繁地更新位置?我会考虑是否真的有必要。一些设备可能存在一些硬件限制,不允许以如此小的间隔进行定位请求。
除此之外,还可以使用"计时器"在选定的时间间隔内运行函数。