【问题标题】:Is at least one location sent by location services after calling requestLocationUpdates?调用 requestLocationUpdates 后,位置服务是否至少发送了一个位置?
【发布时间】:2017-10-02 22:39:58
【问题描述】:

在使用LocationServices.FusedLocationApi.requestLocationUpdates 设置接收位置更新时,我需要确保至少获得一个位置。

例如,如果设备已经静止了很长时间,在调用LocationServices.FusedLocationApi.requestLocationUpdates 后,它会以最后一个已知位置触发吗?还是我也必须打电话给LocationServices.FusedLocationApi.getLastLocation

【问题讨论】:

    标签: android android-location android-fusedlocation


    【解决方案1】:

    根据我的经验,您必须调用 LocationServices.FusedLocationApi.getLastLocation() 以保证立即获得位置对象,即使该方法也可能在设备重启后立即返回 null

    LocationServices.FusedLocationApi.requestLocationUpdates() 将在有新的或相对较新的位置可用时给您回电,该位置在准确性、能量等方面与您的请求参数匹配,但如果没有与您的参数匹配的位置可用,则可能暂时不会回电。例如,如果您请求一个需要 GPS 的高精度位置,并且最近没有使用 GPS,并且设备位于无法接收 GPS 信号的位置,则在设备再次获得 GPS 信号之前,您可能看不到回调。

    【讨论】:

    • 谢谢。所以你建议我必须打电话给getLastLocation?尚未了解此要求。
    • 为了您获得即时位置的最佳机会,是的。
    猜你喜欢
    • 2012-12-02
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2014-08-19
    • 2022-01-10
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多