我正在构建一个需要您当前位置来初始化和显示地图的应用程序。我正在请求使用 更新位置LocationManager.requestLocationUpdates(...)
,但这似乎只在位置发生变化时给我数据(例如,我移动了 10 英尺)。我也在尝试使用 getLastKnownLocation,但在一些不常见的情况下(例如打开 GPS 并且不移动打开应用程序)这将为我正在使用的所有提供程序返回 null。
每当 getLastKnownLocation 返回 null 时,我的应用程序无法初始化,直到我移动 10 英尺并接收到位置更新。到目前为止,我还没有找到一种方法来轮询我的位置,也没有发现任何暗示当我requestLocationUpdates(...)
可以在我订阅的那一刻获得我的第一个数据时,而不是在我等待指定的时间段或移动指定的时间段时距离。
一种方法是requestLocationUpdates(...)
在非常小的时间间隔或 0 时间间隔上,将其发送给我当前的位置,然后再次删除 LocationListener,requestLocationUpdates(...)
但这次我使用更大的值来避免耗尽电池。
我正在寻找更好的方法来解决这个问题。可能是 getCurrentLocation() 之类的东西,但实际上是任何有效的东西。