java - 使用位置回调获取位置更新

标签 java android location-services google-location-services fusedlocationproviderclient

我尝试使用 FusedLocationProviderClient 获取用户位置,如下所示:

fusedLocationProviderClient.requestLocationUpdates(mLocationRequest, locationCallback, null);

我在此位置调​​用中获取位置更新

 locationCallback = new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                super.onLocationResult(locationResult); 
                for (Location location : locationResult.getLocations()) {
                    // list of locations
                }
            }
        };

我读到 locationResult.getLocations() 检索从最旧到最新排序的位置对象列表, 我无法理解我现在想要的只是获取用户位置。

对此有什么帮助吗?

最佳答案

您可以使用locationResult.getLastLocation()来获取最新的可用位置。

来自文档:LocationResult.getLastLocation()

public Location getLastLocation ()
    Returns the most recent location 
    available in this result, or null if no 
    locations are available.

关于java - 使用位置回调获取位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49707091/

相关文章:

java - OSGI API 包中的具体类

java - 从 JNI 调用 Java 对象中的方法返回错误

android - 串联使用 Google SettingsAPI 和 PermissionModel API

android - 警报管理器未触发

安卓。 TabActivity,在选项卡之间切换而不破坏 tabHost 的 Activity

swift - 电池电量不足会停止定位服务还是无法获取位置?

android - 如何避免三星设备的电池优化? (S6、S7 和 S8)

java - 如何在运行时从 jar 文件调用方法

java - 在java中使用POI jar读取xlsx文件时出现异常

java - gwt-maven-plugin javascript编译错误