如果车辆不移动,每 5 分钟更新一次 Android 位置

Posted

技术标签:

【中文标题】如果车辆不移动,每 5 分钟更新一次 Android 位置【英文标题】:Android Location Update After Every 5min If Vehicle Not Moving 【发布时间】:2017-04-09 14:50:26 【问题描述】:

我的情况如下:

如果汽车静止(不移动),我想每 5 分钟后调用一次位置更新 API。如果汽车在移动,我想每 2 分钟后调用一次位置更新 API。

如果汽车保持移动2000米的距离,则需要每5分钟调用一次位置更新api。实际上如何检查位置是否相同?

【问题讨论】:

【参考方案1】:

您可以通过Location Update Callback 接收有关位置更改的信息。在android developer docs 中了解更多信息。下面是一个关于如何检测位置是否发生变化的基本示例:

public class MainActivity extends ActionBarActivity implements LocationListener 
    private Location mLastKnownLocation;
    ...
    @Override
    public void onLocationChanged(Location location)           
            //location changed
            mLastKnownLocation = location
                   
    

基本上,如果位置更改,您只会收到有关当前位置的信息。

因此,如果您想每 5 分钟/2 分钟知道位置是否更改,请执行计时器、循环等,以每 5 分钟/2 分钟检查一次是否收到 locationChangedEvent 并且位置是否更改

【讨论】:

以上是关于如果车辆不移动,每 5 分钟更新一次 Android 位置的主要内容,如果未能解决你的问题,请参考以下文章

每 5 分钟更新一次值

GPS LAT/Long 每 5 分钟更新一次

AppWidget每分钟更新一次

Android服务不更新位置

应用程序进入后台时可扩展的 FCM 通知模型

每 10 分钟更新一次时,FCM 是不是仍然比轮询更好? [关闭]