Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 位置管理器getLastKnownLocation()是否缓存上次修复?_Android - Fatal编程技术网

Android 位置管理器getLastKnownLocation()是否缓存上次修复?

Android 位置管理器getLastKnownLocation()是否缓存上次修复?,android,Android,我正在注册位置更新: public void onResume() { LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); List<String> providers = lm.getProviders(true); for (String it : providers) { lm.requestLocationUpdates(it

我正在注册位置更新:

public void onResume() {
    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    List<String> providers = lm.getProviders(true);
    for (String it : providers) {
        lm.requestLocationUpdates(it, 0, 0, myListener);
    }
}
应该把最近的位置还给我,对吗?只是想知道对于提供者是否有任何策略,它可能不会返回其最新的修复程序(即,它收到修复程序,但由于某种原因内部实现不会将其缓存为最后一个已知位置,或者在作为最后一个已知位置提供服务之前有一些超时)

谢谢

如果您检查的源,您可以看到如果启用了位置提供程序,则提供程序的最后已知位置将更新,因此答案是肯定的。

PS:您可以使用loc.getTime()获取此修复程序的UTC时间。
Location loc = lm.getProvider("gps").getLastKnownLocation("gps");