【问题标题】:How to fetch current longitude and latitude in android programaticaly at every secon?如何每秒以编程方式获取android中的当前经度和纬度?
【发布时间】:2020-12-15 10:22:11
【问题描述】:

我想通过该管理员的帮助制作像跟踪器这样的应用程序,可以在特定时间以他的权限跟踪特定用户,所以我需要每秒跟踪用户的时间长短并传递到其他地方。

【问题讨论】:

标签: java android google-maps gps tracking


【解决方案1】:

您可以编写一个递归方法,该方法进行网络调用以发送用户位置,并在您获得成功的回调时继续调用自身,这就是所有这些;

    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
                }
            });
} 

这种方式下一个位置是在上一个经过后立即发送的,希望对你有帮助,也是在利用方法中的改造。

【讨论】:

    【解决方案2】:

    例如,就电池性能而言,每秒询问 GPS 位置可能会非常昂贵。另外,是否需要经常更新位置?我会考虑是否真的有必要。并且某些设备可能存在一些硬件限制,不允许以如此小的间隔请求位置。

    除此之外,使用 Timer 在选定的时间间隔内运行您的函数。

    【讨论】:

      猜你喜欢
      • 2011-08-31
      • 1970-01-01
      • 2015-09-07
      • 2017-05-09
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      相关资源
      最近更新 更多