【发布时间】:2020-12-15 10:22:11
【问题描述】:
我想通过该管理员的帮助制作像跟踪器这样的应用程序,可以在特定时间以他的权限跟踪特定用户,所以我需要每秒跟踪用户的时间长短并传递到其他地方。
【问题讨论】:
-
使用计时器每秒运行您的函数。 How to set the timer in android?
标签: java android google-maps gps tracking
我想通过该管理员的帮助制作像跟踪器这样的应用程序,可以在特定时间以他的权限跟踪特定用户,所以我需要每秒跟踪用户的时间长短并传递到其他地方。
【问题讨论】:
标签: java android google-maps gps tracking
您可以编写一个递归方法,该方法进行网络调用以发送用户位置,并在您获得成功的回调时继续调用自身,这就是所有这些;
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 位置可能会非常昂贵。另外,是否需要经常更新位置?我会考虑是否真的有必要。并且某些设备可能存在一些硬件限制,不允许以如此小的间隔请求位置。
除此之外,使用 Timer 在选定的时间间隔内运行您的函数。
【讨论】: